如果表B中存在密钥,则插入表A中

时间:2014-04-09 18:44:54

标签: sql

使用BBj DBMS(这很奇怪)。我有两个表TableATableBTableANameTableBId。在将此新记录插入表格之前,我想确保TableBId中存在TableB。我正在盲目插入(通过REST调用),我正在考虑尽可能少地调用数据库。

目前我有这方面的内容

INSERT INTO tablea (name, tablebid)
VALUES('Steven', '100')

我试过追加

SELECT tablea.tablebid
FROM tablea join tableb

没有运气

修改:建议后,我正在尝试。

INSERT INTO tableA (field1, field2, field3, tableBId, field5)
SELECT 'info', 'info2', 'info3', tableBId, 'info5'
FROM tableB WHERE tableBId = '01'  

但是,我在写一个重复的密钥。重申一下,我正在尝试确保表B中存在tableBId,如果不存在,我希望insert函数失败。

2 个答案:

答案 0 :(得分:1)

INSERT INTO tablea (name, tablebid)
SELECT 'Steven',tableid
FROM tableB
Where tableId=100

...

INSERT INTO trafficdetail (companycode, developmentcode, casenumber, questionnumber, answercode) 
SELECT '100', '1A', '000001300', questionnumber, '20' 
from trafficquesmast where questionnumber = '01'

答案 1 :(得分:0)

INSERT INTO tablea (name, tablebid)
SELECT 'Steven', id
FROM tableb
where id = @id