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

 

posted @ 2025-07-11 17:32  江境纣州  阅读(5)  评论(0)    收藏  举报