如何获得执行后的SQL语句?

2025-04-30 21:55:34
推荐回答(3个)
回答1:

如果sql是在程序中直接写的,那就简单,全局变量就好
如果sql实在数据库中的,那么可以考虑将sql存入表中,并存储相应的需要的信息,生成一个类似的日志表,在程序中读取就行,此方式在程序中也适用
如:
declare @sql varchar(2000) = 'select * from tb'
exec(@sql)

insert into [日志表](sql_text)
values(@sql)

回答2:

可以通过全局变量@@rowcount来获得

create PROCEDURE table111
as
begin
DECLARE @sqltxt nvarchar(4000),@row integer

set @sqltxt='delete from table where id=2'
exec(@sqltxt)
set @row = @@rowcount --执行完后保存受影响的行数至变量

end

回答3:

你是想看程序拼接传入数据库执行的sql语句么?