终于搞定sp_executesql包含输出的多参数的调用,网上竟然没有很好的参考
set @sql = N'select @I_ZSL =sum(I_SL), @I_ZYZ = sum(I_YZ), @I_ZZJ = sum(I_LJZJ), @I_ZJZ = (sum(I_YZ) - sum(I_LJZJ)) from V_GZ_SGZ_GZINFO_TYB where V_DW_DM = @V_DW_DM '+dbo.F_GetZCLB_WhereStr(@V_ZCLB_DM)
execute sp_executesql @sql,N'@I_ZSL numeric(14,2) out,@I_ZYZ numeric(14,2) out,@I_ZZJ numeric(14,2) out,@I_ZJZ numeric(14,2) out,@V_DW_DM varchar(20)',@I_ZSL out,@I_ZYZ out,@I_ZZJ out,@I_ZJZ out,@V_DW_DM
注意事项:
1. sp_executesql的头两个参数必须是nvarchar类型,如以上@sql 和N'...'
2. sql语句有多个参数时,sp_executesql第二个参数的格式
set @sql = N'select @I_ZSL =sum(I_SL), @I_ZYZ = sum(I_YZ), @I_ZZJ = sum(I_LJZJ), @I_ZJZ = (sum(I_YZ) - sum(I_LJZJ)) from V_GZ_SGZ_GZINFO_TYB where V_DW_DM = @V_DW_DM '+dbo.F_GetZCLB_WhereStr(@V_ZCLB_DM)
execute sp_executesql @sql,N'@I_ZSL numeric(14,2) out,@I_ZYZ numeric(14,2) out,@I_ZZJ numeric(14,2) out,@I_ZJZ numeric(14,2) out,@V_DW_DM varchar(20)',@I_ZSL out,@I_ZYZ out,@I_ZZJ out,@I_ZJZ out,@V_DW_DM
注意事项:
1. sp_executesql的头两个参数必须是nvarchar类型,如以上@sql 和N'...'
2. sql语句有多个参数时,sp_executesql第二个参数的格式