SqlServer更新視圖預存程序函數指令碼

來源:互聯網
上載者:User

標籤:

--視圖、預存程序、函數名稱 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 @[email protected] + 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;

SqlServer更新視圖預存程序函數指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.