28 lines
727 B
Transact-SQL
28 lines
727 B
Transact-SQL
DROP PROCEDURE IF EXISTS dev.uspDropSchema
|
|
GO
|
|
|
|
CREATE PROCEDURE dev.uspDropSchema
|
|
@pSchemaName nvarchar(max)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON
|
|
|
|
DECLARE
|
|
@sql nvarchar(max) = '';
|
|
|
|
SELECT @sql += 'DROP USER IF EXISTS [' + REPLACE(@pSchemaName, '_schema', '_user]') + char(13) + char(10)
|
|
EXEC sp_executesql @sql
|
|
|
|
SET @sql = '';
|
|
SELECT @sql += '
|
|
IF EXISTS (SELECT 1 FROM master.sys.server_principals WHERE name = ''' + REPLACE(@pSchemaName, '_schema', '_user''') + ') BEGIN
|
|
DROP LOGIN [' + REPLACE(@pSchemaName, '_schema', '_user]') + '
|
|
END'
|
|
EXEC sp_executesql @sql
|
|
|
|
SET @sql = '';
|
|
SELECT @sql += 'DROP SCHEMA IF EXISTS [' + @pSchemaName + ']' + char(13) + char(10)
|
|
EXEC sp_executesql @sql
|
|
|
|
END
|
|
GO
|