--记录操作的示例--创建记录的日志表
create table t_log(
id int identity(1,1) primary key,
工作站名 nchar(30) not null default host_name(),
操作员 sysname DEFAULT SUSER_SNAME(),
操作时间 datetime default getdate(),
事件类型 nvarchar(30),
参数 int,
执行的语句 nvarchar(255))
go--演示用的数据表
create table test(id int)
go--记录操作的触发器
create trigger t_update on test
for delete
as
insert t_log(事件类型,参数,执行的语句) exec('dbcc inputbuffer(@@spid)')
go--初始化表
insert into test values(1)
godelete test
go--显示记录情况
select * from t_log
go--删除演示环境
drop table t_log,test
create table t_log(
id int identity(1,1) primary key,
工作站名 nchar(30) not null default host_name(),
操作员 sysname DEFAULT SUSER_SNAME(),
操作时间 datetime default getdate(),
事件类型 nvarchar(30),
参数 int,
执行的语句 nvarchar(255))
go--演示用的数据表
create table test(id int)
go--记录操作的触发器
create trigger t_update on test
for delete
as
insert t_log(事件类型,参数,执行的语句) exec('dbcc inputbuffer(@@spid)')
go--初始化表
insert into test values(1)
godelete test
go--显示记录情况
select * from t_log
go--删除演示环境
drop table t_log,test
解决方案 »
- 在sql语句中怎么隐藏 BH_RSI_Repository 这张表不让它在页面中显示出来
- SQL 更新表的语句 急,麻烦大侠救命!
- update select count 将一个表统计结果更新到另个一表中
- 统计的问题~~~写不出来,帮帮忙 。不知道能不能实现啊 。。。哎~~~
- sqlserver2008全文检索问题,特急!
- 变成IDENTITY列,表中有值
- 我有一个mysql的数据库备份文件,请问这么才能将这个备份文件导入到sql server 2005中
- 有关CHARINDEX的问题
- [Microsoft][ODBC SQL Server Driver]没有执行可选特性
- 请问SQL SERVER 有中文版的吗?
- SQLServer2000库中有Text字段转Access出错??
- 请教高手:关于SQL死锁的问题
Server: Msg 2560, Level 16, State 14, Line 1
在触发器上。
exec('dbcc inputbuffer(@@spid)')
在Query Anylizer里单独执行
dbcc inputbuffer(@@spid)总是语法错误呀??
dbcc inputbuffer(@@spid)两句语法都正确,执行总是出现上面的错误。
如是Sql7不支持,用什么方法实现呢?谢谢!
create trigger t_update on test
for delete
as
declare @statement nvarchchar(255)
set @statement = 'DBCC INPUTBUFFER(' + convert(char(2), @@SPID) + ')'
insert t_log(事件类型,参数,执行的语句) exec(@statement)
go
declare @statement nvarchchar(255)
set @statement = 'DBCC INPUTBUFFER(' + convert(char(2), @@SPID) + ')'这两句当成DBCC INPUTBUFFER的输出但测试却是正确的