Dependencies for System Stored Procedure: master.dbo.sp_MoveSchema

ReferencingFQN ReferencingType ReferencedFQN ReferencedType Depth RedHierarchy
master.dbo.sp_MoveSchema Stored procedure master.dbo.sp_ExecTemplate Stored procedure 1 [master].[dbo].[sp_ExecTemplate]
master.dbo.sp_MoveSchema Stored procedure Util.dbo.PrintLargeText Stored procedure 1 [Util].[dbo].[PrintLargeText]
master.dbo.sp_MoveSchema Stored procedure Util.dbo.StringConcat Aggregate function (CLR) 1 [Util].[dbo].[StringConcat]
master.dbo.sp_MoveSchema Stored procedure Util.dbo.SystemObjectTypes View 1 [Util].[dbo].[SystemObjectTypes]
master.dbo.sp_ExecTemplate Stored procedure Util.dbo.GetColumnType SQL inline table-valued function 2 [master].[dbo].[sp_ExecTemplate], [Util].[dbo].[GetColumnType]
master.dbo.sp_ExecTemplate Stored procedure Util.dbo.ParseSPDefaults Assembly (CLR) table-valued function 2 [master].[dbo].[sp_ExecTemplate], [util].[dbo].[ParseSPDefaults]
Util.dbo.PrintLargeText Stored procedure Util.dbo.PrintLargeText_CLR Assembly (CLR) stored-procedure 2 [Util].[dbo].[PrintLargeText], [Util].[dbo].[PrintLargeText_CLR]
Util.dbo.StringConcat Aggregate function (CLR) Util.UtilClr ASSEMBLY 2 [Util].[dbo].[StringConcat], [Util].[UtilClr]

System Stored Procedure: master.dbo.sp_MoveSchema

USE master
GO
IF OBJECT_ID('sp_MoveSchema') IS NULL EXEC ('CREATE PROCEDURE sp_MoveSchema AS SELECT 1 AS ID')
GO
ALTER PROCEDURE dbo.sp_MoveSchema
    @OldSchema SYSNAME = NULL,
    @NewSchema SYSNAME = NULL,
    @DropOldSchema BIT = 1,
    @SQL VARCHAR(MAX) = NULL OUTPUT,
    @UseTransaction BIT = 1,
    @PrintSQL BIT = 1,
    @ExecuteSQL BIT = 0
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT  @OldSchema = LTRIM(RTRIM(PARSENAME(@OldSchema, 1))),
        @NewSchema = LTRIM(RTRIM(PARSENAME(@NewSchema, 1)))
IF ISNULL(@OldSchema, '') = ''
    OR ISNULL(@NewSchema, '') = ''
    OR @OldSchema = @NewSchema
    BEGIN
        EXEC master.dbo.sp_ExecTemplate
            @ObjectName = 'sp_MoveSchema',
            @PrintDefault = 0,
            @DeclareReturn = 0,
            @PrintReturnLine = 0,
            @DoNotDeclareVar = 1
        RETURN 30
    END

SELECT  @SQL = CASE WHEN @UseTransaction = 1 THEN 'BEGIN TRANSACTION
BEGIN TRY
'
                   ELSE ''
               END + ISNULL(Util.dbo.StringConcat('ALTER SCHEMA ' + QUOTENAME(@NewSchema) + ' TRANSFER ' + QUOTENAME(s.NAME) + '.' + QUOTENAME(o.NAME) + ';', '
'
), '') + CASE WHEN @DropOldSchema = 1 THEN '
DROP SCHEMA '
 + QUOTENAME(s.NAME) + ';'
               ELSE ''
          END + CASE WHEN @UseTransaction = 1 THEN '
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SELECT ErrorNumber = ERROR_NUMBER(),
    ErrorSeverity = ERROR_SEVERITY(),
    ErrorState = ERROR_STATE(),
    ErrorProcedure = ERROR_PROCEDURE(),
    ErrorLine = ERROR_LINE(),
    ErrorMessage = ERROR_MESSAGE()
ROLLBACK TRANSACTION
END CATCH'
           ELSE ''
                END
FROM    sys.schemas s (NOLOCK)
INNER JOIN sys.objects o (NOLOCK) ON o.SCHEMA_ID = s.SCHEMA_ID
INNER JOIN Util.dbo.SystemObjectTypes ot ON ot.Type = o.type COLLATE SQL_Latin1_General_CP1_CI_AS
WHERE   o.is_ms_shipped = 0
        AND ot.CreateDefinition IN ('TRIGGER', 'TABLE', 'SYNONYM', 'VIEW', 'FUNCTION', 'PROCEDURE')
        AND s.name = @OldSchema
GROUP BY s.name

IF @PrintSQL = 1
    EXEC Util.dbo.PrintLargeText
        @SQL
IF @ExecuteSQL = 1
    AND @SQL <> ''
    EXEC(@SQL)
GO
EXEC sys.sp_ms_marksystemobject sp_MoveSchema
GO

Description for System Stored Procedure: master.dbo.sp_MoveSchema

Todo
Site Map | Printable View | © 2008 - 2012 NuRoN Consulting, INC | Powered by mojoPortal | HTML 5 | CSS | Original design by Andreas Viklund
Share This Using Popular Bookmarking Services