SQL SERVER儲存過程AS和GO的含義

笨笨De蝸牛發表於2018-05-17

最近自己在看SQL儲存過程的程式碼時,發現很多地方都用到AS和GO,我都不知道這兩個單詞具體有什麼意義?於是去研究了一下。
AS 我目前看到的比較常見的有2種用法:
1.可以為列名稱和表名稱指定別名,比如

SELECT name AS '姓名'
    FROM mytest;

2.建立儲存過程時用到的AS
CREATE PROC procedure_name
AS
SQL語句
GO
這裡也有一個AS,我試著把它去掉就無法正常執行了。
它是作為過程體開始的唯一標誌 ,相當於語法建立儲存過程 …作為…

GO是SQL用於分隔批處理的字元,相當於儲存過程結束的標誌。
而且這個字元是可以在SQL SERVER 工具-選項-查詢執行中進行修改的。
這裡寫圖片描述
GO 後面還可以跟著一個數字,如果有數字N,則會把這個語句塊執行N次。
比如:

INSERT INTO mytest VALUES('YYY',17);
GO 2
SELECT *
  FROM mytest;

這裡會把GO前面的語句全部按照順序執行2次,插入2行資料。

相關文章