Tsql &引用;将过程SPNAME创建为";vs.“;将过程SPNAME创建为“开始/结束”;
创建存储过程时,开始/结束块是否起作用 例如 vsTsql &引用;将过程SPNAME创建为";vs.“;将过程SPNAME创建为“开始/结束”;,tsql,Tsql,创建存储过程时,开始/结束块是否起作用 例如 vs 后者只是一种很好的编程风格,遵循一般标准。据我所知,它们在任何方面都没有区别 我个人认为,在每个逻辑代码块(甚至在存储过程的情况下)周围都有一个BEGIN和END是有意义的,并且可以提高可读性。如中所示,BEGIN/END是可选的: {[BEGIN]sql_语句[;][…n] [完]} 一个或多个Transact-SQL 构成本报告正文的声明 程序您可以使用可选的 开始和结束关键字以将 声明。有关信息,请参阅 最佳实践、一般性意见和建议 限制和
后者只是一种很好的编程风格,遵循一般标准。据我所知,它们在任何方面都没有区别 我个人认为,在每个逻辑代码块(甚至在存储过程的情况下)周围都有一个
BEGIN
和END
是有意义的,并且可以提高可读性。如中所示,BEGIN/END是可选的:
{[BEGIN]sql_语句[;][…n]
[完]}
一个或多个Transact-SQL
构成本报告正文的声明
程序您可以使用可选的
开始和结束关键字以将
声明。有关信息,请参阅
最佳实践、一般性意见和建议
限制和限制章节
接下来就是
出于个人喜好,我总是将它们包括在内。对我来说,这只是一个不必要的额外缩进级别。但是,如果使用
BEGIN CATCH
-END TRY
和BEGIN CATCH
-END CATCH
将其设置为BEGIN TRY
,则会增加真正的用途。这种情况下没有真正的用途。但是,如果使用BEGIN/END块,代码将可读且干净。BEGIN和END与存储过程无关,但它们是函数所必需的
好:
不好:
CREATE FUNCTION dbo.fun(@v varchar(10))
RETURNS INT
AS
RETURN 1
我见过很多带有开始/结束块的代码,它们的可读性不是很好。可读代码远不止在任何地方都使用开始/结束块。
围绕代码的每个逻辑块开始和结束。
,哎呀!我想这会得到更多的帮助。我明白你的意思。我试图指出最佳实践。我不会在一行或琐碎的地方使用它。。。
CREATE PROCEDURE SPNAME
AS
BEGIN
SELECT * FROM TABLE
END
CREATE PROC dbo.sproc(@v varchar(10))
AS
RETURN -1
CREATE FUNCTION dbo.fun(@v varchar(10))
RETURNS INT
AS
RETURN 1