这是我的代码,在将新记录输入sql数据库之前检查系统中是否已存在记录。
Z
我正在使用Java,我的sql和derby数据库。 我想要做的是当一个新项目输入系统时,sql语句将检查这些项目是否已经在系统中。
这个sql语句有什么问题
答案 0 :(得分:3)
使用insert . . . values
无法执行您想要的操作。所以请改用insert . . . select
。代码应如下所示:
INSERT INTO Stock(name, cost_price, selling_price, numberinstock, supplier)
Select ?, ?, ?, ?, ?
from sysibm.sysdummy1
Where not exists (select * from Stock where name = "+NameTextField+");
但是,您应该将名称的第二个引用作为参数传递,就像所有其他引用一样:
INSERT INTO Stock(name, cost_price, selling_price, numberinstock, supplier)
Select ?, ?, ?, ?, ?
from sysibm.sysdummy1
Where not exists (select 1 from Stock where name = ?);
答案 1 :(得分:0)
尝试使用触发器
Create Trigger Modified_Order_Trigger
On Orders
After Update --as per youe need "insert, delete, update"
AS
Insert Into tablename (tables fileds)
SELECT tablefileds
FROM INSERTED