How to update Database version via script?

The script as following:


:setvar DatabaseVersion "1.0001"

--:setvar DatabaseName "John"

 

USE Shotgun
GO


/* Update database version */
IF EXISTS(SELECT *
  FROM fn_listextendedproperty(default, default, default, default, default, default, default)
  WHERE name = 'DatabaseVersion')
BEGIN  
 EXEC sys.sp_updateextendedproperty
 @name = N'DatabaseVersion',
 @value = N'$(DatabaseVersion)'
END
ELSE BEGIN
 EXEC sys.sp_addextendedproperty
 @name = N'DatabaseVersion',
 @value = N'$(DatabaseVersion)';
END
GO

 

If you directlly exec the code above, you will get an error like

"Msg 102, Level 15, State 1, Line 15
Incorrect syntax near ':'
."

 

 For setvar need to be executed under "SQLCMD Mode". Trun on it as following: toolbar-->Qurey--->SQLCMD Mode. (Just click it to turn on)

格式如下:

:setvar  變量名稱 變量值 /*  可以不加雙引號 */

用$(變量名稱)去在下面的SQL代碼中,調用預定義的變量即可。

發佈了51 篇原創文章 · 獲贊 10 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章