The meta data is from an SQL 2012 Server.
I have posted alot more, find the whole list here.
Goto Definition or MetaData
Definition:
sys.sp_addrole(nvarchar @rolename, nvarchar @ownername)
MetaData:
create procedure sys.sp_addrole @rolename sysname, -- name of new role @ownername sysname = NULL -- name of owner of new role as -- SETUP RUNTIME OPTIONS / DECLARE VARIABLES -- set nocount on declare @ret int, -- return value of sp call @owner int, @stmtR nvarchar(4000), @stmtS nvarchar(4000) -- DISALLOW USER TRANSACTION -- set implicit_transactions off if (@@trancount > 0) begin raiserror(15002,-1,-1,'sys.sp_addrole') return (1) end exec @ret = sys.sp_validname @rolename if @ret <> 0 return(1) if @ownername is null select @ownername = user_name() set @stmtR = 'create role ' set @stmtR = @stmtR + quotename(@rolename, ']') set @stmtR = @stmtR + ' authorization ' set @stmtR = @stmtR + quotename(@ownername, ']') -- Create Schema if not one exists with same name and owner set @stmtS = 'create schema ' set @stmtS = @stmtS + quotename(@rolename, ']') set @stmtS = @stmtS + ' authorization ' set @stmtS = @stmtS + quotename(@rolename, ']') BEGIN TRANSACTION -- issue DDL to create the role -- exec (@stmtR) if @@error <> 0 begin ROLLBACK TRANSACTION return (1) end -- create the Schema if not one exists with same name and owner declare @schema_uid int declare @owner_uid int select @owner_uid = principal_id from sys.database_principals where name = @rolename select @schema_uid = principal_id from sys.schemas where name = @rolename if (@schema_uid is null or -- there is no schema since if there is one, it will have an owner @schema_uid <> @owner_uid) -- for error message begin exec (@stmtS) if @@error <> 0 begin ROLLBACK TRANSACTION return (1) end end COMMIT TRANSACTION -- RETURN SUCCESS -- return (0) -- sp_addrole
No comments:
Post a Comment