我需要使用类似这样的查询将数据插入数据库:
INSERT INTO Table1
(aID)
VALUES
(select aID from Table2 where aID="aID"))
问题是,如果Table2没有aID,我需要用它更新它并提取新创建的ID。是否有自动执行此操作的SQL命令?
答案 0 :(得分:2)
你的问题在地图上有点...... 问题是,如果Table2没有aID,我需要用它来更新它 - 这是什么意思?
如果它不存在,你必须插入它... rght?
话虽如此,你需要编写一个存储过程来实现你的目标......并且还要设置“aID”......是一个自动增量的种子标识符列类型
如果您需要详细说明,请告诉我
答案 1 :(得分:0)
据推测,您在真实查询中添加了更多列,因为它目前没有任何意义,您只需要在整个事件中添加一列。
假设您要将表2中的其他一些列插入到表1中,然后将表1中的新ID更新到表2中,没有一个命令可以为您执行此操作。
像(在SQL Server中) DECLARE @newId int 从table2插入table1(.. columns ..)值select(..columns ..),其中aID =“aID”) select @ newId = scope_identity() update table2 set foreign_key_column_to_table_1 = @ newId其中aID =“aID”