set xact_abort on -- roolback in case of any error
declare @userid uniqueidentifier = newID();
declare @randompassword varchar(30) = (select left(cast(NEWID() as varchar(36)),11))
Begin Transaction
--dodanie uzytkownika
insert into [user].[user]
([userID] ,[userName] ,[userNameShort] ,[userNameFull] ,[email] ,[password] ,[organizationalGroupID] ,[IsApproved])
values
(@userid,'Pomoc','sys','Pomoc Platforma','pomoc@platformaerp.com',@randompassword ,(select top 1 groupid from [user].[userGroup] ),1)
--dodanie brakujacych
INSERT INTO [user].[usergroup]
([groupid],
[userid],
[addusername],
[modusername])
SELECT g.groupid,
@userid,
'sys',
'sys'
FROM [user].[group] g
LEFT JOIN (SELECT groupid
FROM [user].[usergroup]
WHERE userid = @userid) existt
ON g.groupid = existt.groupid
WHERE existt.groupid IS NULL
print 'PASWORD ' + @randompassword
print 'Pamietaj o reset http://platforma/reset'
Commit Transaction
--optional cleanupfor not connected grops
--delete [user].[usergroup] where userid not in( select userid from [user].[user])