举例多记录操作语句:(楼主看看update是怎么写的)CREATE TRIGGER 名1 ON dbo.tabMain
FOR INSERT
AS
insert db2..tabSlave select * from inserted
goCREATE TRIGGER 名2 ON dbo.tabMain
FOR update
AS
update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
goCREATE TRIGGER 名3 ON dbo.tabMain
FOR delete
AS
delete db2..tabSlave where 编号 in (select 编号 from deleted)
FOR INSERT
AS
insert db2..tabSlave select * from inserted
goCREATE TRIGGER 名2 ON dbo.tabMain
FOR update
AS
update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
goCREATE TRIGGER 名3 ON dbo.tabMain
FOR delete
AS
delete db2..tabSlave where 编号 in (select 编号 from deleted)
解决方案 »
- 如何才能找出最近有记录被修改过的那些表?
- _100是什么类型来的
- 请教数据库系统原理的一个问题 范式
- 求助,SQL查询的问题
- 急难的查询问题!!!!高手请进!
- 远程备份的错误:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次..
- 请问sql事件探查查怎么使用?
- 更改系统管理员密码,不能启动sql server服务问题
- 谁有ERwin的使用方面的书籍或资料?谢谢!
- 从EXCEL导进SQLSERVER2000时出现的问题?求救
- 在存储过程中查询一批记录,然后跟一个表比较,如果存在就跳过,否则插入?怎么样做?
- 有关 "SQL多表查询" 的问题
我设了两个触发器,一个是入库单表的,一个是明细表的.其中RIENO为入库单号.为RCIN表的主键,RCINB表的外键.
这是RCIN表中的触发器.
CREATE TRIGGER RCIN_INSERT ON dbo.RCIN
FOR INSERTED,UPDATE
AS
DECLARE @RITAG BIT
SELECT @RITAG=RITAG FROM INSERTED
IF @RITAG=1
UPDATE RCINB
SET RITAG=1
WHERE RIENO=(SELECT RIENO FROM INSERTED)
这是RCINB(入库单细表)表中的触发器.
CREATE TRIGGER RCINB_INSERT ON dbo.RCINB
FOR INSERTED,UPDATE
AS
DECLARE @RITAG BIT
SELECT @RITAG=RITAG FROM INSERTED
IF @RITAG=1 .....(执行入库操作,如使商品库存量增加等)由于刚入库时RITAG=0,所以审核时更新为1时,每个入库单所对应的商品中只有最后一个能入库,即只执行了一次触发器,真时急死我了.大家快救我.
FOR INSERT,UPDATE
AS
UPDATE RCINB
SET RITAG=1
WHERE RIENO in (SELECT RIENO FROM INSERTED where RITAG=1)
create trigger trg_delete_crjlb on crjlb with encryption for delete as
declare @cpbs char(3),@crbh char(2)
declare del_cursor cursor for select cpbs,crbh from deleted --看看能否管用
open del_cursor
fetch del_cursor into @cpbs,@crbh
while @@fetch_status=0
begin
exec('drop table B'+@cpbs+@crbh)
fetch del_cursor into @cpbs,@crbh
end
close del_cursor
deallocate del_cursor
go---------------------------------
你可以将我的代码修改,这仅仅是个思路,祝你顺利
用游标怎样进行定位更新呢?就是说,我遍历到哪一行,就对那一行的RITAG字段进行更新,该怎么写呢???CREATE TRIGGER [NEWRCIN_INSERTED] ON [dbo].[RCIN]
FOR INSERT
AS
DECLARE @RITAG BIT,@RIENO NUMERIC
SELECT @RITAG=RITAG FROM INSERTED
IF @RITAG=1
BEGIN
DECLARE UPDATE_CURSOR CURSOR FOR SELECT RIENO FROM RCINB WHERE RIENO=(SELECT RIENO FROM INSERTED)
OPEN UPDATE_CURSOR
FETCH NEXT FROM UPDATE_CURSOR
WHILE @@fetch_status=0
BEGIN
UPDATE RCINB
SET RITAG=1 WHERE CURRENT OF UPDATE_CURSOR
FETCH NEXT FROM UPDATE_CURSOR
END
CLOSE UPDATE_CURSOR
DEALLOCATE UPDATE_CURSOREND