init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,62 @@
|
|||
DROP PROCEDURE IF EXISTS dev.uspDropSchemaSPFN
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dev.uspDropSchemaSPFN
|
||||
@pRoutinList nvarchar(max) -- Vesszővel elválasztott SP és FN lista (akár vegyesen is), NULL esetén az összeset frissíti
|
||||
,@pSchemaName nvarchar(max) = NULL -- Schema neve, amit frissíteni kell, NULL esetén az összes schemán végigmegy
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE
|
||||
@sql nvarchar(max) = '';
|
||||
|
||||
IF @pSchemaName IS NULL AND @pRoutinList IS NULL BEGIN
|
||||
RETURN
|
||||
END
|
||||
|
||||
DECLARE @Routine TABLE (
|
||||
Id int IDENTITY(1, 1)
|
||||
,RoutineName nvarchar(255)
|
||||
)
|
||||
|
||||
INSERT INTO @Routine (RoutineName)
|
||||
SELECT LTRIM(RTRIM(s.value))
|
||||
FROM STRING_SPLIT (@pRoutinList, N',') s
|
||||
|
||||
|
||||
IF @pSchemaName IS NULL BEGIN
|
||||
|
||||
SELECT @sql += 'DROP ' + IIF(o.type = 'P', 'PROCEDURE', 'FUNCTION') + ' IF EXISTS [' + SCHEMA_NAME(o.schema_id) + '].[' + o.name + ']' + char(13) + char(10)
|
||||
FROM sys.objects o
|
||||
INNER JOIN @Routine r ON r.RoutineName COLLATE HUNGARIAN_CI_AS = o.name COLLATE HUNGARIAN_CI_AS
|
||||
WHERE o.type IN ('P', 'FN', 'IF', 'TF')
|
||||
ORDER BY r.Id
|
||||
END
|
||||
|
||||
IF @pRoutinList IS NULL BEGIN
|
||||
|
||||
SELECT @sql += 'DROP ' + IIF(o.type = 'P', 'PROCEDURE', 'FUNCTION') + ' IF EXISTS [' + SCHEMA_NAME(o.schema_id) + '].[' + o.name + ']' + char(13) + char(10)
|
||||
FROM sys.objects o
|
||||
WHERE o.type IN ('P', 'FN', 'IF', 'TF')
|
||||
AND SCHEMA_NAME(o.schema_id) = @pSchemaName
|
||||
|
||||
|
||||
END
|
||||
|
||||
IF @pRoutinList IS NULL AND @pSchemaName IS NOT NULL BEGIN
|
||||
|
||||
SELECT @sql += 'DROP ' + IIF(o.type = 'P', 'PROCEDURE', 'FUNCTION') + ' IF EXISTS [' + SCHEMA_NAME(o.schema_id) + '].[' + o.name + ']' + char(13) + char(10)
|
||||
FROM sys.objects o
|
||||
INNER JOIN @Routine r ON r.RoutineName COLLATE HUNGARIAN_CI_AS = o.name COLLATE HUNGARIAN_CI_AS
|
||||
WHERE o.type IN ('P', 'FN', 'IF', 'TF')
|
||||
AND SCHEMA_NAME(o.schema_id) = @pSchemaName
|
||||
ORDER BY r.Id
|
||||
|
||||
END
|
||||
|
||||
EXEC sp_executesql @sql
|
||||
|
||||
END
|
||||
GO
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue