![](/img/trans.png)
[英]Oracle How to Dynamicaly change argument/parameter in function with loop
[英]How to give change working of having function dynamicaly on executing an sql statement?
我有一個如下的Sql代碼
Select a.ItemCode, a.ItemDesc
From fn_BOM_Material_Master('A', @AsOnDate, @RptDate, @BranchID, @CompID)a
Left Outer Join fn_INV_AsOnDate_Stock(@StockDate, @AsOnDate, @RptDate, @BranchID, @CompID, @Finyear)b
On a.ItemCode=b.ItemCode and b.WarehouseCode<>'WAP'
and a.BranchID=b.BranchID and a.CompID=b.COmpID
Where a.ItemNatureCode = 'F' and a.BranchID = @BranchID and a.CompID = @CompID
Group by a.ItemCode, a.ItemDesc
Having sum(b.CBQty)<=0
這里的問題是,如果“ @ShowZeroStock”值是“ 1”,則我將按位傳遞“ @ShowZeroStock”值,則該值不應該被驗證,或者(即:應返回表中的所有值,包括零)
那么如何根據傳遞的位值“ @ShowZeroStock”更改查詢
我可以在頂部使用“ If else”條件,並刪除其他部分,但是對於冗長的查詢,我無法做到這一點。
這是您想要的邏輯嗎?
Having sum(b.CBQty) <= 0 or @ShowZeroStock = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.