一直疑惑的一个问题,确认下

geniuswjt 2012-01-11 03:01:43

--写存储过程时经常
create proc proc1
as
begin
...
end
--但我习惯少打点,我就写
create proc proc1
as
...

/*
也就是想问下写这个最外层的begin和end跟不写有没什么区别?
比如oralce里begin end块代表那是一个pl/sql块,会当成1个块只需解析次数;
不过mssql既然这是一个建过程的语句,建成了也就是一个块,一次解析吧?写跟不写貌似没区别?
我主要因为有时内部的begin end太多,我就不乐意写最外层的begin end了,免得更晕
*/
...全文
118 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
geniuswjt 2012-01-11
  • 打赏
  • 举报
回复
老王威武!不过你发的网站打开好多乱码,虽然我知道他是MSDN官网。。[Quote=引用 11 楼 maco_wang 的回复:]
SQL code

--Transact-SQL Stored Procedure Syntax
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] ……
[/Quote]
yanyuchonglou 2012-01-11
  • 打赏
  • 举报
回复
在SQL的定义中,AS后自动作为PROC的语句块,加不加BEGIN END跟机器是无关的,但对人看起来却其始于何方终于何处。
叶子 2012-01-11
  • 打赏
  • 举报
回复

--Transact-SQL Stored Procedure Syntax
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY]
] [ ,...n ]
[ WITH <procedure_option> [ ,...n ] ]
[ FOR REPLICATION ]
AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] }
[;]

http://msdn.microsoft.com/en-us/library/ms187926.aspx
叶子 2012-01-11
  • 打赏
  • 举报
回复
这只是一种固定格式,对于存储过程来说可以省略那个begin end
bashen1101 2012-01-11
  • 打赏
  • 举报
回复
我的理解是只写一个存储过程是没啥问题,如果后面还有其他语句的话可能造成语法歧义吧
水族杰纶 2012-01-11
  • 打赏
  • 举报
回复
在没有分支的情况下
可以省略
没有实际意义
begin
end
一般用在分支结构里
如 if true
begin
end
else
begin
end
geniuswjt 2012-01-11
  • 打赏
  • 举报
回复
MB,竟然风怒了
人呢。求解。
geniuswjt 2012-01-11
  • 打赏
  • 举报
回复
不是begin tran啊,是begin
也是显示开始事务?不会吧?[Quote=引用 3 楼 fredrickhu 的回复:]
显示开始事务 显示结束事务。
[/Quote]
geniuswjt 2012-01-11
  • 打赏
  • 举报
回复
不是begin tran啊,是begin
也是显示开始事务?不会吧?[Quote=引用 3 楼 fredrickhu 的回复:]
显示开始事务 显示结束事务。
[/Quote]
jmx123456789 2012-01-11
  • 打赏
  • 举报
回复
按着标准来 格式规范
我理解成规范了
--小F-- 2012-01-11
  • 打赏
  • 举报
回复
显示开始事务 显示结束事务。
q806294478 2012-01-11
  • 打赏
  • 举报
回复
一般sql server中存储过程可以不用写begin end
我认为是这样的
勿勿 2012-01-11
  • 打赏
  • 举报
回复
基本语法。很多都是照着来,没问过为什么。向LZ致敬!

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧