动态SQL字符长度超过4000,SQL SERVER 2005 SP_EXECUTESQL打破了这个限制。

declare @cSQLKey nvarchar(max) --查询语句
declare @cWhereKey nvarchar(max) --条件语句

。。。。。。

set @cWhereKey = N'where 1=1 '
if not ISNULL(@org ,'')='' 
BEGIN
set @cWhereKey = @cWhereKey+ N' and PM_PurchaseOrder.org like '''+@org+  ''' '

END

。。。。。。。。

set @cSQLKey = @cSQLKey + @cWhereKey

print @cSQLKey

--exec  @cSQLKey 

execute sp_executesql @cSQLKey Output -- 输入查询结果
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐