100分求:如何在触发器中得到当前要执行的update, insert,delete等语句(Sql Server 2000) 可以考虑下面的方法:CREATE TRIGGER t_test ONauthorsFOR INSERT,UPDATE,DELETEASBEGINDBCC INPUTBUFFER(@@SPID)END 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --有点错误CREATE TRIGGER t_test ON authorsFOR INSERT,UPDATE,DELETEASBEGINDBCC INPUTBUFFER(@@SPID)END DBCC INPUTBUFFER(@@SPID)是什么?我如何得到这个语句字符串变量? CREATE TRIGGER t_test ON authorsFOR INSERT,UPDATE,DELETEASBEGINDECLARE @EventInfo VARCHAR(2000)SET NOCOUNT ON Create TABLE #t_tab (EventType VARCHAR(50),Parameters INT,EventInfo VARCHAR(2000))INSERT #t_tab EXEC('DBCC INPUTBUFFER(@@SPID)')SELECT @EventInfo = EventInfo FROM #t_tab --得到这个语句字符串变量END wudan8057(在水一方),非常感谢我想问问,EventInfo 不是最多只能放255个字符,有些sql语句有4000长,如何能记录呢?谢谢 DBCC INPUTBUFFER 返回包含如下列的行集。列名 数据类型 说明 EventType nvarchar(30) 事件类型,例如:RPC、Language 或 No Event。 Parameters int 0 = 文本 1- n = 参数 EventInfo nvarchar(255) 对于 RPC 的 EventType,EventInfo 仅包含过程名。对于 Language 或 No Event 的 EventType,仅显示事件的前 255 个字符。 如何修改数据表某些字段的类型,从某种特定类型到指定类型 请教存储过程问题 存储过程小问题(急用) 当表的数据删过后,即使该表数据全部删了,ID 还是不从1开始,怎样才能从1重新开始? 数据同步问题 怎么解决呀??? 产生随机数 求一段SQL(刚才的需求有变化) 如何通过唯一标识访问表中的指定行 sql 2008 查询同字段有重复单词的项 多项选择题经果统计问题,sql语句怎么写? 将*.xls文件导入到SQL2000中
CREATE TRIGGER t_test ON authors
FOR INSERT,UPDATE,DELETE
AS
BEGINDBCC INPUTBUFFER(@@SPID)END
是什么?
我如何得到这个语句字符串变量?
FOR INSERT,UPDATE,DELETE
AS
BEGIN
DECLARE @EventInfo VARCHAR(2000)SET NOCOUNT ON
Create TABLE #t_tab (
EventType VARCHAR(50),
Parameters INT,
EventInfo VARCHAR(2000)
)
INSERT #t_tab EXEC('DBCC INPUTBUFFER(@@SPID)')SELECT @EventInfo = EventInfo FROM #t_tab --得到这个语句字符串变量
END
谢谢
EventType
nvarchar(30)
事件类型,例如:RPC、Language 或 No Event。
Parameters
int
0 = 文本 1- n = 参数
EventInfo
nvarchar(255)
对于 RPC 的 EventType,EventInfo 仅包含过程名。对于 Language 或 No Event 的 EventType,仅显示事件的前 255 个字符。