如何在 SQL 中使用 NOT EXISTS 和 COMPOSITE KEYS 从 POJO 插入数据
我正在使用 DB2 DBMS。
场景 1:
myTable 有一个复合键(key1、key2),其中 key1 和 key2 都是 yourTable 中的外键。
我想将 yourTable 中的新数据插入到 myTable 中,但前提是 myTable 中尚不存在 key1、key2 组合。
insert into myTable(key1, key2, someData)
values(x, y, z)
where NOT EXISTS (want to check if composite key is not already present)
场景 2:
我将 yourTable 中的数据放入具有 data1、data2 和 data 属性的 java 对象中。
我想插入上述数据并进行检查,如场景 1 所示。 data1 + data2 不应已存在于 myTable 中。
我该如何实现这一目标?我认为我们不能在插入语句中使用 SELECT 语句。
insert into myTable(key1, key2, data)
values(data1, data2, data)
where (data1 + data2 are already not present in myTable)
我怎样才能实现这个目标?
I am using DB2 DBMS.
Scenario 1:
myTable has a composite key (key1, key2) where both key1 and key2 are foreign keys from yourTable.
I want to insert new data from yourTable into myTable, but only if the key1, key2 combination does not already exist in myTable.
insert into myTable(key1, key2, someData)
values(x, y, z)
where NOT EXISTS (want to check if composite key is not already present)
Scenario 2:
I put data into a java object from yourTable with properties data1, data2, and data.
I want to insert the above data with the check as in Scenario1. data1 + data2 should not already be present in myTable.
How do I achieve this? I don't think we can use a SELECT statement inside the insert statement.
insert into myTable(key1, key2, data)
values(data1, data2, data)
where (data1 + data2 are already not present in myTable)
How can I achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
或者
对于您的第二种情况,它看起来类似于上面的查询
or
for your 2nd scenario, it'd look similar to the above query
如果数据“c”“3”已存在,则上述查询将导致空表。
if the data 'c' '3' already exists then above query will result in an empty table.