2017-04-12 69 views
0

我拉我的頭髮在這一個。任何幫助是極大的讚賞。C#複雜插入數據庫

我有三個表:

zaccusr(table) 
--------- 
USRKEY 
USRNAME 

roleusers (table) 
---------- 
USRKEY 
ROLEKEY 

acessroles (table) 
---------- 
ROLEKEY 
ADDBY 
ADDDTTM 
MODBY 
MODDTTM 
ROLEDESC 
ROLENAME 

我需要更新基於來自zaccusr表中的usrname的acessroles表。 這個數據庫是內部的。即使如此,我還是打算將這些變量加入等量數據,但我只是想立即開始工作。具體來說,我試圖編寫一個查詢,我可以在c sharp中使用來遍歷並插入許多記錄。

這樣說,我試圖使用下面的查詢和它可以找到或想到的每個變體。任何想法或幫助將不勝感激。

USE PREPROD 
INSERT INTO CORE_ACCESSCONTROL.ACCESSROLES 
(ADDBY,ADDDTTM,MODBY,MODDTTM,ROLEDESC,ROLEKEY,ROLENAME) VALUES 
('SHAGGY','','SHAGGY','','','','AdvancedAssetMgmt') 
select ROLEKEY FROM CORE_ACCESSCONTROL.ROLEUSERS ru 
JOIN CORE_ACCESSCONTROL.ZACCUSR zu on ru.USRKEY=zu.USRKEY 
WHERE zu.USRNAME ='SCOOBY' 
+0

可以請你把C#代碼了 –

回答

1

這將工作..

USE PREPROD 
INSERT INTO CORE_ACCESSCONTROL.ACCESSROLES 
(ADDBY,ADDDTTM,MODBY,MODDTTM,ROLEDESC,ROLEKEY,ROLENAME) VALUES 
(
'SHAGGY', 
'', 
'SHAGGY',' 
', 
'', 
(select top 1 ROLEKEY FROM CORE_ACCESSCONTROL.ROLEUSERS ru 
JOIN CORE_ACCESSCONTROL.ZACCUSR zu on ru.USRKEY=zu.USRKEY 
WHERE zu.USRNAME ='SCOOBY'), 
'AdvancedAssetMgmt')