0
我正在嘗試創建一個下拉菜單,它將限制物品採購員使用以下SQL代碼查詢結果。但是,我不斷收到一個錯誤,指出我需要聲明標量變量@ItemBuyer,儘管它明確聲明並在代碼中進行了設置。SAP B1查詢返回「必須聲明標量變量」錯誤
DECLARE @ItemBuyer VARCHAR(30)
SET @ItemBuyer= /* T3.OwnerCode */ '[%1]'
DECLARE @SQL VARCHAR(MAX)
SET @SQL = 'SELECT T3.[DocNum] AS DocNumber, T3.[CardCode] AS
VendorCode, T3.[CardName] AS VendorName, T3.OwnerCode as BuyerID, T2.
[ItemCode] AS ItemNo, T2.[U_CPM_LegItemNo] AS LegacyItemNumber, T2.
[Dscription] AS ItemDescription, T2.[U_CPM_ConfDate] AS POConfirmDate,
T2.[OpenCreQty] AS CreditMemoAmount FROM [dbo].[OITG] T0 , [dbo].
[OITM] T1 INNER JOIN [dbo].[POR1] T2 ON T2.[ItemCode] = T1.
[ItemCode] INNER JOIN [dbo].[OPOR] T3 ON T3.[DocEntry] = T2.
[DocEntry] WHERE (T2.[OpenCreQty] > (0)) AND (T2.[U_CPM_ConfDate]
IS NULL ) and (T3.[OwnerCode] = @ItemBuyer)'
EXEC(@SQL)
我也嘗試聲明和設置變量象下面這樣:
DECLARE @ItemBuyer VARCHAR(30) = /* T3.[OwnerCode] */ '[%0]'
但後來我得到一個錯誤,指出語法是錯誤的,甚至可以通過變量現在返回正確的值。我有點卡在這裏。希望有人能幫助我。
感謝,
Krys
爲什麼使用動態sql? –
您正在使用動態查詢,但您沒有爲動態查詢提供價值。 – Hybridzz