mssql 动态语句实现

mssql 不能像postgres 中使用占位符进行替换如%s,只能多写几个replace吧

为什么不用字符拼接的方式?
拼接的语句太难看了

只能使用跛脚的方法:

declare @sql varchar(353)
declare @table varchar(33)
declare @sql2 varchar(353);
set @table = 'test';
set @sql= 'select * from @table where id = ''@id''';

set @sql2 = replace(@sql,'@table',@table)
set @sql2 = replace(@sql2,'@id','134')
print @sql2

exec (@sql2)
posted @ 2020-07-31 17:44  那时一个人  阅读(171)  评论(0编辑  收藏  举报