再发一个比较完整日志回复测试版
SQL server 2005
定义了char,varchar,datetime,smalldatetime,int,bigint,tinyint,decimal,bit 类型,其它类型会出错
我定义的sp可以打印出最近被删除的sql语句
贴下代码,希望和感兴趣的朋友共享:-)
--Function
create function dbo.f_splitBinary(@s varbinary(8000))
returns @t table(id int identity(1,1),Value binary(1))
as
begin
declare @i int,@im int
select @i=1,@im=datalength(@s)
while @i<=@im
begin
insert into @t select substring(@s,@i,1)
set @i=@i+1
end
return
end
CREATE function dbo.f_reverseBinary(@s varbinary(128))
returns varbinary(128)
as
begin
declare @r varbinary(128)
set @r=0x
select @r=@r+Value from dbo.f_splitBinary(@s) a order by id desc
return @r
end
CREATE proc [dbo].[p_printSql](@sql varchar(max),@flag char(1)=',',@intal varchar(5)='' )
as
declare @l_sql varchar(8000),@i int,@l int
set @l=len(@sql)
while @l>8000-5
begin
select @i=8000-5-charindex(@flag,reverse(left(@sql,8000-5))),@l_sql=left(@sql,@i),@sql=right(@sql,@l-@i),@l=@l-@i
print @intal+@l_sql
end
print @intal+@sql