菜鸟问题:触发器程序怎么写???

lendylixt 2004-11-22 11:13:30
create trigger [trigger name] on [table1 name]
for [insert][delete][update]
as
[insert][delete][update] [table2.name]
from
where [condition]
后面怎么写,from 后面跟的是什么意思
...全文
128 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lendylixt 2004-11-23
  • 打赏
  • 举报
回复
没有人知道吗?
lendylixt 2004-11-23
  • 打赏
  • 举报
回复
太让我伤心了
xingfuniao 2004-11-22
  • 打赏
  • 举报
回复
does_not_exist 应该是inserted或deleted表吧
lendylixt 2004-11-22
  • 打赏
  • 举报
回复
To:davorsuker39(大狐狸) ( ) 信誉:100
_______________________________________________________

FROM authors a ,does_not_exist x
_______________________________________________________
does_not_exist
这个表是怎么来的??
davorsuker39 2004-11-22
  • 打赏
  • 举报
回复
CREATE TRIGGER trig1
on authors
FOR INSERT, UPDATE, DELETE
AS
SELECT a.au_lname, a.au_fname, x.info
FROM authors a ,does_not_exist x
where a.au_id = x.au_id

这个例子的条件就是a.au_id = x.au_id

xingfuniao 2004-11-22
  • 打赏
  • 举报
回复


from 后面跟的是需要执行操作的表
davorsuker39 2004-11-22
  • 打赏
  • 举报
回复
是你触发的条件
lendylixt 2004-11-22
  • 打赏
  • 举报
回复
这些临时表是系统自带或自己生成的吗?它和主表怎样起作用?

我再网上看到这样一个例子:
比如,这么两个表:
   Create Table Student(       --学生表
    StudentID int primary key,   --学号
    ....
   )
Create Table BorrowRecord(       --学生借书记录表
    BorrowRecord int identity(1,1),   --流水号 
    StudentID   int ,          --学号
    BorrowDate  datetime,        --借出时间
    ReturnDAte  Datetime,        --归还时间
    ...
   )
如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。
Create trigger trdStudent
   On Student
   for Delete
As
   Delete BorrowRecord
    From BorrowRecord br , Deleted d
    Where br.StudentID=d.StudentID
我有点不明白,临时表d和student表有什么关系?为什么让br表的id和d表的id相等就能删除student表中的id相同的借书纪录

34,588

社区成员

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

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