这个触发器该怎么改?(高分)

qozm 2004-05-09 02:27:25
TEACHER表有三个字段
ID: 自动编号
CODE:老师代码
NAME:姓名

我添加老师记录的时候如果没有指定老师代码,
则数据库自动填充老师代码字段为 50000+ID 的内容,
如果指定了老师代码,则用我指定的老师代码,触发器不修改CODE字段,
我该如何判断CODE是否为空?
下面的触发器只能所以的CODE都修改,不能判断是否为空,怎么改?

CREATE TRIGGER generateCode ON dbo.TEACHER
FOR INSERT AS
begin

update TEACHER set TEACHER_CODE = 50000 + i.ID
from TEACHER, inserted i where TEACHER.ID = i.ID

end




...全文
44 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qozm 2004-05-09
  • 打赏
  • 举报
回复
呵呵,是笔误,code和teacher_code是一样的,应该把teacher_code改为code
zjcxc 元老 2004-05-09
  • 打赏
  • 举报
回复
你的字段名倒底是什么?
触发器中写的是: TEACHER_CODE
而给出的表结构中是: CODE
zjcxc 元老 2004-05-09
  • 打赏
  • 举报
回复
CREATE TRIGGER generateCode ON dbo.TEACHER
FOR INSERT AS
if exists(select 1 from inserted where isnull(CODE,'')='')
update TEACHER set TEACHER_CODE = 50000 + i.ID
from TEACHER a,inserted i
where a.ID = i.ID and isnull(a.CODE,'')=''

34,590

社区成员

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

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