如何获得执行后的SQL语句?
发布网友
发布时间:2022-04-08 18:57
我来回答
共3个回答
热心网友
时间:2022-04-08 20:26
如果sql是在程序中直接写的,那就简单,全局变量就好
如果sql实在数据库中的,那么可以考虑将sql存入表中,并存储相应的需要的信息,生成一个类似的日志表,在程序中读取就行,此方式在程序中也适用
如:
declare @sql varchar(2000) = 'select * from tb'
exec(@sql)
insert into [日志表](sql_text)
values(@sql)追问sql写在mybatis的映射文件中
热心网友
时间:2022-04-08 21:44
可以通过全局变量@@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追问如果是一个select语句怎么获得@sqltxt呢,有没有不用存储过程的啊
我这里很多sql语句都要用
因为要记录到日志中
热心网友
时间:2022-04-08 23:19
你是想看程序拼接传入数据库执行的sql语句么?