SQL:“AS”在创建过程的上下文中做了什么?

时间:2014-08-28 18:52:05

标签: sql-server tsql

CREATE PROCEDURE filepath.foo.Customer_Cork
AS
BEGIN
    SELECT *
    FROM CUSTOMER
    WHERE COUNTY = 'Cork';
END;

我有上面的代码。 AS究竟做了什么?

另外,我的缩进/格式化/分号放置怎么样?我不熟练使用SQL,所以我很欣赏任何改进代码的技巧。

3 个答案:

答案 0 :(得分:1)

简而言之,AS将标题和参数列表与过程主体分开。

CREATE PROCEDURE filepath.foo.Customer_Cork
    --(empty) parameter list
AS --body starts here
BEGIN
    SELECT *
    FROM CUSTOMER
    WHERE COUNTY = 'Cork'
END;

缩进/格式化确实是个人风格的问题,但你看起来对我来说非常好。

答案 1 :(得分:1)

它用作标题(,您定义输入参数)和正文(,您定义逻辑)的存储过程之间的分隔符。您也可以将它作为逻辑的起点,即在AS之后,其他所有内容都将包含存储过程的逻辑。

你的缩进很好。所以没有问题。

旁注:

SQL曾被称为" Structured English Query Language"。因此,语言作者可能会尝试使用相关的单词,这可能有助于我们识别分离器。 :)

答案 2 :(得分:1)

用于声明包 body 。 在包头中定义IN或OUT参数后,您现在声明头部定义 AS 后面的主体。

另外,你的缩进和分号使用也没问题。最好缩进(正如您所做的)每个级别,并且所有BEGIN ... END块都以;终止。