Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- UPDATE RC_PermissionsUsers
- SET ntid = @ntid,
- departmentID = @departmentID,
- role = @role
- WHERE ntid = @ntid
- BEGIN
- SET NOCOUNT ON;
- BEGIN TRANSACTION;
- BEGIN
- INSERT INTO RC_PermissionsUsers
- (
- ntid,
- departmentID,
- [role]
- )
- SELECT ParamValues.ntid.value('.', 'varchar(255)'),
- @departmentID,
- @role
- FROM @xmlUsers.nodes('/users/ntid') AS ParamValues(ntid)
- WHERE NOT EXISTS
- (
- SELECT ntid
- FROM RC_PermissionsUsers
- WHERE ntid = ParamValues.ntid.value('.', 'varchar(255)')
- )
- END
- COMMIT TRANSACTION;
- END
- BEGIN
- SET NOCOUNT ON;
- BEGIN TRANSACTION;
- BEGIN
- IF object_id('tempdb.dbo.#tmpList') IS NOT null DROP TABLE #tmpList
- create table #tmpList(
- id varchar(255),
- departmentID int,
- role int
- )
- insert into #tmpList
- SELECT ParamValues.ntid.value('.', 'varchar(255)'),
- @departmentID,
- @role
- FROM @xmlUsers.nodes('/users/ntid') AS ParamValues(ntid)
- MERGE RC_PermissionsUsers as PU
- USING ( select id, departmentID, role from #tmpList) T
- ON PU.ntid = T.id
- WHEN MATCHED THEN
- UPDATE SET departmentId = T.departmentID,
- role = T.role
- WHEN NOT MATCHED THEN
- INSERT ( ntid, departmentID, role)
- VALUES ( T.id, T.departmentID, T.role)
- END
- COMMIT TRANSACTION;
- END
Add Comment
Please, Sign In to add comment