2009-10-15 107 views
0

我需要使用查詢像這樣的插入數據到數據庫中:從需要更新的數據庫中提取數據的最佳方法是什麼?

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

的問題是,如果表2沒有幫助下我需要它來更新它並提取新創建的ID。有沒有自動執行它的SQL命令?

+0

您正在使用哪種DBMS和版本? SQL Server 2008,Oracle等。 如果table2沒有aID,那麼您如何確定要更新哪一行? – 2009-10-15 23:59:31

回答

2

你的問題有點兒在地圖上... 問題是,如果Table2沒有aID,我需要用它來更新它 - 這是什麼意思?

如果它不存在,你必須插入它......正確?

說了這麼多,你需要寫一個存儲過程來實現你的目標...,也可以設置「援助」 ...是一個自增,播種標識符列型

讓我知道如果您需要詳細說明

0

假設您在實際查詢中添加了更多的列,因爲此刻它沒有任何意義,您只需要在整個事件中包含一列。

假設您想要將表2中的其他列插入到表1中,然後將表1中的新ID更新到表2中,那麼沒有一個命令會爲您執行此操作。

喜歡的東西(在SQL Server) DECLARE @newId INT 插入到表1(..列..)從表2的值選擇(..columns ..),援助= 「援助」) 選擇@ NEWID = scope_identity() update table2 set foreign_key_column_to_table_1 = @ newId其中aID =「aID」

相關問題