zoukankan      html  css  js  c++  java
  • SqlServer更新视图存储过程函数脚本

    --视图、存储过程、函数名称
    DECLARE @NAME NVARCHAR(255);
    --局部游标
    DECLARE @CUR CURSOR
    --自动修改未上状态为旷课
    SET @CUR=CURSOR SCROLL DYNAMIC FOR
    SELECT NAME FROM DBO.SYSOBJECTS
        WHERE NAME NOT IN ('SYSCONSTRAINTS','SYSSEGMENTS')
            AND
            (
                OBJECTPROPERTY(ID, N'IsView') = 1               --视图
                OR OBJECTPROPERTY(ID,N'IsProcedure') = 1        --存储过程
                OR OBJECTPROPERTY(ID,N'IsScalarFunction') = 1   --标量函数
                OR OBJECTPROPERTY(ID,N'IsTableFunction') = 1    --标题函数
                OR OBJECTPROPERTY(ID,N'IsInlineFunction') = 1   --内联函数
            );
     
    OPEN @CUR;
    FETCH NEXT FROM @CUR INTO @NAME
     
    WHILE (@@FETCH_STATUS=0)
    BEGIN
     
        DECLARE @OldText NVARCHAR(MAX);
        DECLARE @NewText NVARCHAR(MAX);
     
        --读取创建脚本,当脚本超长时分成多条记录时合并
        SELECT @OldText=@OldText + CHAR(10) + CHAR(13) + RTRIM(TEXT) FROM SYSCOMMENTS WHERE ID = OBJECT_ID(@NAME);
     
        --将创建脚本替换为更新脚本
        SET @NewText=REPLACE(@OldText,N'CREATE VIEW',N'ALTER VIEW');
        SET @NewText=REPLACE(@NewText,N'CREATE PROCEDURE',N'ALTER PROCEDURE');
        SET @NewText=REPLACE(@NewText,N'CREATE FUNCTION',N'ALTER FUNCTION');
         
        BEGIN TRY
            EXEC(@NewText);
        END TRY
        BEGIN CATCH
            PRINT N'---------------------------------------------------------------------------';
            PRINT @NAME + N' : ' + ERROR_MESSAGE();
            --PRINT @OldText;
            PRINT N'---------------------------------------------------------------------------';
        END CATCH
     
        FETCH NEXT FROM @CUR INTO @NAME
     
    END
     
    CLOSE @CUR;
    DEALLOCATE @CUR;
  • 相关阅读:
    版本控制工具 svn 一
    测试用例 (一)
    Jmeter (四) 关联
    Jmeter (三) 集合点 、检查点 (断言)
    Jmeter (二) 参数化
    Jmeter (一) 安装
    自动化测试 selenium 测试软件安装
    postman 接口测试(一)
    PHP使用Redis的Pub/Sub(发布订阅)命令
    idea控制台乱码问题
  • 原文地址:https://www.cnblogs.com/fhuafeng/p/4177842.html
Copyright © 2011-2022 走看看