【发布时间】:2009-02-03 15:54:08
【问题描述】:
我只是想确认我没有遗漏任何东西......所以请耐心等待。
我正在重写很多旧的存储过程,并且不断看到格式类似于此的 IF 语句:
begin
if @someParameter <> 'ThisType'
set @someCode = right(cast(@pYear as varchar(6)),2) + 'THIS'
end
所以 Begin...End 块只是包装(但不影响)IF 语句,对吗?这是 IF 的一些旧语法吗?
写这篇文章的人在这份工作之前没有太多的 SQL 经验;他主要在 VB (pre-.NET) 中工作。也许这是其他语言的语法,所以他不小心(习惯性地)这样写?
这是 SQL Server 2005(代码是为 SQL Server 2000 编写的),顺便说一句
就像我说的那样,我只是想把我的大脑包裹在这个意大利面上。欢迎任何想法/cmets/启发性见解
谢谢
【问题讨论】:
-
我仍然对如何/为什么以这种方式编写代码感到困惑。猜猜他最初只是误解了语法,然后继续这样做。这很有趣......我似乎记得那个人警告我复杂的 IF 语句在 T-SQL 中是不稳定的。你能猜到他为什么会遇到麻烦吗? :)
标签: sql-server syntax