如果需要,使用更新从数据库中提取数据的最佳方法是什么?

时间:2009-10-15 23:52:51

标签: sql insert

我需要使用类似这样的查询将数据插入数据库:

INSERT INTO Table1 
  (aID) 
 VALUES 
  (select aID from Table2 where aID="aID"))

问题是,如果Table2没有aID,我需要用它更新它并提取新创建的ID。是否有自动执行此操作的SQL命令?

2 个答案:

答案 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”