我做了一个insert触发器,当记录不符合要求时rollback,我现在想在程序里面感知rollback,否则我就不知道是否插入成功啊,该怎么办呢?

Iris 2003-10-23 09:26:07
我做了一个insert触发器,当记录不符合要求时rollback,我现在想在程序里面感知rollback,否则我就不知道是否插入成功啊,该怎么办呢?
谢谢!
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
w_rose 2003-10-24
  • 打赏
  • 举报
回复
“纯”4GL是针对记录集合进行操作的,一条语句处理一个记录集合,而不是针对单个的记录(游标)进行操作。因此,才会使用“exists(select *”的形式。

因此对于处理数据库这样的结构,4GL程序比3GL程序清楚。
w_rose 2003-10-24
  • 打赏
  • 举报
回复
Create trigger 名 on tableName
For insert
As
if exists(select * from inserted where ......条件,判断不符合......)
Begin
raiserror('不符合条件!',16,3)
Rollback
Return
End

......符合条件,继续处理......
orcale 2003-10-23
  • 打赏
  • 举报
回复
你在觸發器裡面加判斷不就可以了
if(條件成立)
begin
exec sql
end
你可以通過去判斷目摽表中是否有該條紀錄確定他成功
txlicenhe 2003-10-23
  • 打赏
  • 举报
回复
Create trigger 名 on tableName
For insert
As
update ...
if @@Error <> 0
Begin
raiserror('出错了!',16,3)
Rollback
Return
End
insert ...
if @@Error <> 0
Begin
raiserror('出错了!',16,3)
Rollback
Return
End
pengdali 2003-10-23
  • 打赏
  • 举报
回复
if ...
raiserror('显示用户已经借出了5本书,不能再借了',16,3)


在delphi里用
try
query1.execSQL;
except
on e: Exception do
begin
showmessage('出错' + e.message);
exit;
end;
end;
showmessage('执行成功')

34,875

社区成员

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

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