首页 »数据库 » inserted:SQL触发器的示例,包括Inserted,Deleted.Updated »正文
inserted:SQL触发器的示例,包括Inserted,Deleted.Updated
来源: 发布时间:星期一, 2008年10月20日 浏览:76次 评论:0
在CSDN上回答了一个网友的提问,做了一个触发器的例子,觉得程序还比较清晰易懂。放上来……
有意思的是,发布时选代码语言居然没有SQL语言可以选,只能选C#语言了。
先说有一下CSDN网友要解决的问题:
我有两个表: 表1:exam_QuestionName 字段:QuestionCode TypeCode QuestionName QuestionNum(int)
表2:exam_QuestionType 字段:TypeCode SubjectCode TypeName QuestionNum(int)
要求:1.表1的QuestionNum字段值+1的时候,表2的QuestionNum也+1 2.表1的QuestionNum字段值-1的时候,表2的QuestionNum也-1 3.在SQLSever2000中实现 请大家帮帮我,谢谢!
这是它的直接请求,交流之后我得出结论大概是这样的:
两个表主键分别为QuestionCode,TypeCode; 表1的TypeCode是外键,对应主键为表2的TypeCode; 表1可能表示某一个问题对应的计数,而更新一个问题的计数则需要更新对应整个类型的计数; 不止是更新,其实插入或者删除也需要相应在表2中进行相应的更新; 不止是+1/-1操作,应该处理任意大小值增减的操作。尽管这种操作不太可能发生,但有利于维护数据完整性。 这是相应触发器的创建脚本,SQL2005/开发版测试成功。
set ANSI_NULLS _disibledevent= @eTypeCode; end END
下面有网友留言讨论触发器是否应当及可以使用,我想这又是另外一个话题了,呵呵。当你觉得用起来方便和舒服的时候,那种感觉其实挺不错。
相关文章
读者评论
发表评论
|
|