C#Complex INSERT INTO DB

时间:2017-04-12 19:53:46

标签: c# tsql

我把头发拉过这一头。非常感谢任何帮助。

我有三张表:

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'

1 个答案:

答案 0 :(得分: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')