如何做个条件触发器

zhangwuji154 2011-01-13 05:21:38
if( i.weight=0 or i.weight=null)
{
返回
}

这是类似C++的写法,SQL语句怎么写啊
...全文
76 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
华夏小卒 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhangwuji154 的回复:]
if exists(select 1 from inserted i where i.weight=0 or i.weight=null)
print'什么也不做'
else

好像一定得加点什么,就不报错了
[/Quote]
恩,这样
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
if exists(select 1 from inserted i where i.weight=0 or i.weight=null)
print'什么也不做'
else

好像一定得加点什么,就不报错了
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
ALTER Trigger triStudent
On Student --在Student表中创建触发器
for insert --为什么事件触发
As --事件触发后所要做的事情

begin
--如果新插入的学生没有体重信息,则不改变原来全班平均体重
if (Inserted.weight=0 or Inserted.weight is null)
begin
end
else
begin

end
end

这样也报错
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
ALTER Trigger triStudent
On Student --在Student表中创建触发器
for insert --为什么事件触发
As --事件触发后所要做的事情

begin
--如果新插入的学生没有体重信息,则不改变原来全班平均体重
if (Inserted.weight=0 or Inserted.weight is null)
begin
end
else


end
end

为了测试,我把else里边的东西都删了,还是报错
dawugui 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhangwuji154 的回复:]
是不是因为我else后头加了
declare @aaa int;啊
[/Quote]
如果是多条语句需要使用begin end
华夏小卒 2011-01-13
  • 打赏
  • 举报
回复
多条语句要用begin end
华夏小卒 2011-01-13
  • 打赏
  • 举报
回复
if weight=0 or weight is null 
begin
print '返回'
--返回,就是啥都不执行
end
else
print '执行代码'
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
是不是因为我else后头加了
declare @aaa int;啊
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
引用楼主 zhangwuji154 的回复:
if( i.weight=0 or i.weight=null)
{
返回
}

这是类似C++的写法,SQL语句怎么写啊

在触发器中写
if exists(select 1 from inserted i where i.weight=0 or i.weight=null)
[/Quote]
这种写法和1楼的写法,都报
else处有错误啊
dawugui 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhangwuji154 的回复:]
if( i.weight=0 or i.weight=null)
{
返回
}

这是类似C++的写法,SQL语句怎么写啊
[/Quote]
在触发器中写
if exists(select 1 from inserted i where i.weight=0 or i.weight=null)
zhangwuji154 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 js_szy 的回复:]
SQL code
if weight=0 or weight is null
begin
--返回,就是啥都不执行
end
else
--执行代码
[/Quote]
else之后用加end不
华夏小卒 2011-01-13
  • 打赏
  • 举报
回复
if weight=0 or weight is null 
begin
--返回,就是啥都不执行
end
else
--执行代码

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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