Sqlserver 8.00.2039 版本的存储过程怎么写try catch

begin
declare @G_math ALTER PROCEDURE [dbo].[proc_test]
AS
begin
declare @G_math varchar(30)
set @G_math='2'_varchar(30)
set @G_math='2'

return '1'
begin try
begin tran

select 1
commit tran

end try
begin catch
select 0
rollback tran

end catch
end
以上写法适用Sqlserver 10.50.1600.1 版本。但不适用8.00.2039,应该怎么写
8.00.2039这一版本的try catch

1个回答

SQL8是不是SQL2000?如果是的话,我记得SQL2000是没有TRY。。CATCH的

gamefinity
知常曰明 回复chong271827: 是这样的,SQL版本升级和SQL数据库版本升级是两回事。有可能你现在用的SQL已经死20008R2了,但是你的数据库是用2000的时候迁移过来的,而且迁移的时候也没有对库做升级,那样库的版本还是老的,新的SQL语句也不适合使用。我记得最早的时候是SQL65,然后7,后面就叫2000了,2000应该就是8吧,TRY...CATCH是SQL2005的时候引进的新功能,
5 年多之前 回复
chong271827
buntinginfo 是SQL2008R2,嚓,真怪
5 年多之前 回复
chong271827
buntinginfo 是SQL2008R2,嚓,真怪
5 年多之前 回复
chong271827
buntinginfo 是SQL2008R2,嚓,真怪
5 年多之前 回复
chong271827
buntinginfo 是SQL2008R2,嚓,真怪
5 年多之前 回复
chong271827
buntinginfo 是SQL2008R2,嚓,真怪
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问