create proc p_dd
as
begin
BEGIN TRANSACTION update c set soid = 0--(任意語句)
select 1/0
if @@ERROR <>0
begin
rollback tran
select 0
return
end
else
begin
commit tran
SELECT 1
RETURN
endEND
as
begin
BEGIN TRANSACTION update c set soid = 0--(任意語句)
select 1/0
if @@ERROR <>0
begin
rollback tran
select 0
return
end
else
begin
commit tran
SELECT 1
RETURN
endEND
解决方案 »
- sqlserver中如何取得两位的月份和天数?
- 这么简单的语句是怎么出错的呀,???????
- SQL中,针对字符型字段、和非主键字段如何制定分区方案
- 如何交换两个字段的位置,包括他们之间的数据???
- 一般的少文字字段用什么格式?用char吗?多文字的呢?还是都用varchar呢?
- 创建触发器如何进行
- SQL SERVER高人来解释一下decimal(38,12)数据精度的问题
- Excel中连接外部数据源问题
- sql server agent紧急求助!!!
- 请教 如何设计电缆线序管理系统
- 如果有多个事务同时对一个表进行操作,会造成死锁吗?
- 新手求解?? WINDOW FORM 中的treeview
if @@ERROR =0
begin
COMMIT TRANSACTION
SELECT 1
end
else
begin
rollback transaction
select 0
end
return
无枪狙击手
我嘗試過將兩位的復制上去,仍是報以下的錯:
Msg 8134, Level 16, State 1, Procedure p_dd, Line 7
Divide by zero error encountered. 我用的是SQL2005,真的想不明白
create table c(soid int)
insert into c select 1create proc p_dd
as
begin
BEGIN TRANSACTION
update c set soid = 0--(任意語句)
select 1/0
if @@ERROR <>0
begin
rollback tran
end
else
begin
commit tran
end
END exec p_ddselect * from c
1老return 干吗?