create trigger on table1
for delete
asdelete table2 where user_id in (select user_id from deleted)

解决方案 »

  1.   

    create proc set_flag
    as
    update table1 set flag=1 where fillin>getdate()
    go
    sqlserver企业管理器--管理--sqlserver代理--作业--新建--执行exec set_flag---调度---晚上12:00执行
      

  2.   

    create trigger trig_aa on table1
    for delete
    as
    delete table2 where user_id in (select user_id from deleted)
    --作业
    SQL SERVER企业管理器-》SQL SERVER组-》服务器-》管理-》SQL SERVER代理-》作业-》新建作业——》写上判断table1中的fallin日期是否大于当前日期,
    如果大于就将flag的值等于1的SQL 语句
      

  3.   

    1.触发器
    create trigger aa on table1
    for delete
    as
    delete from table2 where userid in(select user_id from deleted)
    ....如果有其他表,就继续写这个删除语句
    go
    如果是sql 2000,你还可以设置级联删除,这样就不用写触发器了.
      

  4.   

    2.作业SQL SERVER企业管理器--服务器--管理--SQL SERVER代理--作业--新建作业在步骤里新建一个步骤,类型选择TSQL,数据库选择表table1所在的数据库,命令里写上:
    update table1 set flag=1 where fallin>getdate()确定,再在调度里新建一个调度,设置为每天晚上的12:00执行.最后,将sql agent服务设置为自动启动