关于触发器的问题!! 系统中需要记录数据log,我写了一个update触发器,对表数据的任何修改,都会insert log表。但批量update时,非常慢。sqlserver中有没有oracle中的语句级触发器。这个问题怎么解决? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: <Author,,Name>-- Create date: <Create Date,,>-- Description: <Description,,>-- =============================================ALTER TRIGGER [D40_TRIGGER_UPD] ON [dbo].[TBL_D40_JUTYU] AFTER UPDATEASBEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here INSERT INTO TBL_L40_JUTYU SELECT D.[D40_JUTYUU_NO] ,D.[D40_JUTYUU_DATE] ,D.[D40_TOKUISAKI_CD] ,D.[D40_TOKUI_NAME] ,D.[D40_TOKUI_TANTOU_NAME] ,D.[D40_KYOTEN_CD] ,D.[D40_BUMON_CD] ,D.[D40_TANTOU_CD] ,D.[D40_NOUNYU_CD] ,D.[D40_NOUNYU_NAME] ,D.[D40_KOUJI_NAME] ,D.[D40_KYOUSEI_KANRYOU_KBN] ,D.[D40_ORDER] ,D.[D40_ITEM] ,D.[D40_REQNO] ,D.[D40_REQNO_YOUKYU] ,D.[D40_REQNO_SIYOU] ,D.[D40_QC_KBN] ,D.[D40_KENSA_KBN] ,D.[D40_NOUKI] ,D.[D40_NOUNYUU_HOHO_KBN] ,D.[D40_JUTYUU_TORIKOMI_KBN] ,D.[D40_JUTYUU_TORIKOMI_LIST] ,D.[D40_CHECKLIST_HAKKOU] ,D.[D40_JUTYUUHYOU_HAKKOU] ,D.[D40_NOUHINSYO_HAKKOU] ,D.[D40_HATTYUU_YOTEI_HAKKOU] ,D.[D40_DENPYOU_DATE] ,D.[D40_CHECKLIST_DATE] ,D.[D40_JUTYUUHYOU_DATE] ,D.[D40_NOUHINSYO_DATE] ,D.[D40_HATTYUU_YOTEI_DATE] ,D.[D40_MITUMORI_NO] ,D.[D40_TOKKYUU_KBN] ,D.[D40_TEKIYOU] ,D.[D40_JYUTYUU_KANRYOU_KBN] ,D.[D40_JYUTYUU_TORIKOMI_KAKUNIN_KBN] ,D.[D40_NYUURYOKU_TANTOU_CD] ,'E' ,GETDATE() ,I.[D40_KOUSIN_CD] ,I.[D40_KOUSIN_PG] FROM DELETED D, INSERTED IEND 是保存每次修改前还是修改后: DELETED D, INSERTED I 修改前的数据需要保存。? DELETED 调用这个表就行了 慢的主要原因是因为使用了INSERTED I? 需要加上WHERE D.[D60_DENPYOU_NO] = I.[D60_DENPYOU_NO] 两个问题 (50分)求一个存储过程的问题! 简单问题,追加远程服务器的新增加的数据到本地电脑 关于修改数据库表的问题 请教sql语句 com.microsoft.sqlserver.jdbc.SQLServerException: 索引 1 超出范围 请求个SQL语句 一个数值汇总的问题 SqlServer 中 如何用Sql语句在一张数据表的指定位置添加字段 谁说说SQLSERVER的CHECK与规则的区别? 急~~急~~急!!! 请各位大侠指教,不胜感激!!!!!!!!!!!!
set QUOTED_IDENTIFIER ON
go-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER TRIGGER [D40_TRIGGER_UPD]
ON [dbo].[TBL_D40_JUTYU]
AFTER UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON; -- Insert statements for trigger here
INSERT INTO TBL_L40_JUTYU
SELECT D.[D40_JUTYUU_NO]
,D.[D40_JUTYUU_DATE]
,D.[D40_TOKUISAKI_CD]
,D.[D40_TOKUI_NAME]
,D.[D40_TOKUI_TANTOU_NAME]
,D.[D40_KYOTEN_CD]
,D.[D40_BUMON_CD]
,D.[D40_TANTOU_CD]
,D.[D40_NOUNYU_CD]
,D.[D40_NOUNYU_NAME]
,D.[D40_KOUJI_NAME]
,D.[D40_KYOUSEI_KANRYOU_KBN]
,D.[D40_ORDER]
,D.[D40_ITEM]
,D.[D40_REQNO]
,D.[D40_REQNO_YOUKYU]
,D.[D40_REQNO_SIYOU]
,D.[D40_QC_KBN]
,D.[D40_KENSA_KBN]
,D.[D40_NOUKI]
,D.[D40_NOUNYUU_HOHO_KBN]
,D.[D40_JUTYUU_TORIKOMI_KBN]
,D.[D40_JUTYUU_TORIKOMI_LIST]
,D.[D40_CHECKLIST_HAKKOU]
,D.[D40_JUTYUUHYOU_HAKKOU]
,D.[D40_NOUHINSYO_HAKKOU]
,D.[D40_HATTYUU_YOTEI_HAKKOU]
,D.[D40_DENPYOU_DATE]
,D.[D40_CHECKLIST_DATE]
,D.[D40_JUTYUUHYOU_DATE]
,D.[D40_NOUHINSYO_DATE]
,D.[D40_HATTYUU_YOTEI_DATE]
,D.[D40_MITUMORI_NO]
,D.[D40_TOKKYUU_KBN]
,D.[D40_TEKIYOU]
,D.[D40_JYUTYUU_KANRYOU_KBN]
,D.[D40_JYUTYUU_TORIKOMI_KAKUNIN_KBN]
,D.[D40_NYUURYOKU_TANTOU_CD]
,'E'
,GETDATE()
,I.[D40_KOUSIN_CD]
,I.[D40_KOUSIN_PG]
FROM DELETED D, INSERTED IEND
DELETED D, INSERTED I
DELETED 调用这个表就行了