sqlserver存储过程变量超长问题
存储过程字符串拼接超长用pirnt打印显示不全,可以用select方式查询显示
ALTER procedure [dbo].[P_cust_QryCaigou] @DocNo as nvarchar(max), @BusDate as nvarchar(max) as begin declare @Docfilter nvarchar(max) declare @sql nvarchar(max) -- 条件 if(isnull(@DocNo,'')!='') begin set @Docfilter = ' and' + @Docno end else begin set @Docfilter = '' end -- 执行 set @sql = 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter + char(10) + ' union all ' + 'select o.id,o.docno,o.businessdate,o.supplier_supplier,l.purqtytu,u.Round_Precision as jingdu,l.TotalMatchedTaxMnyAC from PM_PurchaseOrder o inner join pm_poline l on o.id=l.PurchaseOrder left join Base_UOM u on l.priceuom=u.ID where 1=1' + @Docfilter print @sql; select @sql as sql FOR XML PATH('Employee'), ROOT('EmployeesList'); end