CREATE PROCEDURE filepath.foo.Customer_Cork
AS
BEGIN
SELECT *
FROM CUSTOMER
WHERE COUNTY = 'Cork';
END;
我有上面的代碼。 AS
究竟在做什麼?SQL:在創建過程的上下文中,「AS」做了什麼?
另外,我的縮進/格式/分號如何放置?我不熟悉SQL,所以我會很感激任何使我的代碼更好的技巧。
CREATE PROCEDURE filepath.foo.Customer_Cork
AS
BEGIN
SELECT *
FROM CUSTOMER
WHERE COUNTY = 'Cork';
END;
我有上面的代碼。 AS
究竟在做什麼?SQL:在創建過程的上下文中,「AS」做了什麼?
另外,我的縮進/格式/分號如何放置?我不熟悉SQL,所以我會很感激任何使我的代碼更好的技巧。
(這裏定義的輸入參數)與所述主體(在其中定義的邏輯)的存儲過程的它被用作報頭之間的分隔符。你也可以把它作爲邏輯的起點,也就是說,在AS之後,其他的東西都會包含你存儲過程的邏輯。
您的縮進很好。所以沒有問題。
在一個側面說明:
SQL曾一度被稱爲 「Structured English Query Language」。因此,語言作者可能會嘗試使用相關的詞語來幫助我們識別分隔符。 :)
簡而言之,AS
將頭和參數列表從過程的主體中分離出來。
CREATE PROCEDURE filepath.foo.Customer_Cork
--(empty) parameter list
AS --body starts here
BEGIN
SELECT *
FROM CUSTOMER
WHERE COUNTY = 'Cork'
END;
縮進/格式化確實是個人風格的問題,但是你對我看起來相當不錯。
它用於申報包機構。 在包頭中定義了IN或OUT參數之後,您現在聲明後面的主體定義爲AS。
此外,您的縮進和分號使用很好。最好縮進每個級別(如您所做的那樣),並且所有BEGIN ... END
塊都以;
終止。
據我所知,它只是一個任意的標記,表示存儲過程定義的開始。你可以在你的名字和定義之間定義參數,'AS'只是說,「我之後的一切都是實際定義的一部分。」 – 2014-08-28 18:56:07
哪個數據庫? – Jens 2014-08-28 18:56:12
每個語句之後都有分號(如果你想讓我快樂,那就是)。所以你可以在''Cork''後面有一個';'你也應該習慣於明確地將模式放在你的表中,所以'foo.CUSTOMER'我發現總是別名表並且總是別名列是有幫助的。 slan – billinkc 2014-08-28 19:01:45