我想知道是否有人可以幫助我解決sas問題。SAS - 通過源表循環並插入到目標表中
我必須在現有源表中超過10000行並將源表值插入到多個目標表中。我必須從源表中一次插入一行,並確保從父表插入主鍵(在插入過程中)到子表中(在插入期間)
我正在使用SAS API( SAS EG)
這裏是什麼源表樣子(請注意,這是另一個表中沒有數據PROC),該表的名稱是具有例如以下的列countrycodelist:
Txn_id statuscode Typecode classcode identifier 001 2 cnt p1 13485 002 2 na n1 13444 003 4 cnt n1 12888
現在,我對目標表有以下代碼: 注意:目標表已經創建,我必須插入它們(tableA/tableB)
PROC SQL;
Insert into tableA (TXNID, STATUSCODE,CREATET,LASTUPDATET)
Select TXN_ID,STATUSCODE, datetime(), datetime()
From CountryCodeList
;
退出;
上述代碼運行後,狀態碼被插入到表sim.tableA中,但該表中有一個自動增量的鍵(pk)。我需要使用這個鍵來插入到子表中,以便從父表到下面的子表進行正確的連接。
PROC SQL;
Insert into tableB (tableAID,TypeCode,ClassCode,DisplayID,)
Select 1101,TypeCode,ClassCode,Identifier
From CountryCodelist;
QUIT;
我手動插入從表A(1101),這適用於小型表插入最後的PK#,但在大規模插入我需要抓住從TableA的最後PK並插入到tableB的。 SQL具有諸如scope_identity()或使用@@ IDENTITY之類的函數來獲得最後插入的密鑰,但這些在SAS中不起作用,或者我可能以錯誤的方式解決它。
此外,我需要從源表(CountryCodelist)一次處理這些插入一行。這個countrycodelist表可以隨時間更新,並可能增長超過10k記錄
你沒有提供足夠的細節來回答這個問題,我真的沒有想到。你如何識別目標表 - 它們是依賴於數據,還是每次插入到所有目標表或其他東西?你爲什麼說你需要逐個插入?這是什麼樣的桌子? – Joe 2014-09-19 19:50:48
這是否僅僅是http:// stackoverflow的副本。com/questions/25894396/passing-a-identity-key-from-one-table-insert-to-another-table-insert-in-sas? – Joe 2014-09-19 19:51:11
你是對的喬,我已經合併了兩個並刪除了舊的。對於混淆/疏忽 – vbala2014 2014-09-19 21:09:02