エラーが発生します
= 付近の構文が正しくありません
この手順の実行中:
DECLARE @I_BRANCH_ID VARCHAR(MAX)
EXEC GETBALANCE CASE WHEN @I_BRANCH_ID ='' THEN 0 ELSE @I_BRANCH_ID END
エラーが発生します
= 付近の構文が正しくありません
この手順の実行中:
DECLARE @I_BRANCH_ID VARCHAR(MAX)
EXEC GETBALANCE CASE WHEN @I_BRANCH_ID ='' THEN 0 ELSE @I_BRANCH_ID END
このようなEXECUTEステートメントに条件付き構文を入れることはできません。
代わりに、次を試してください。
IF (@I_BRANCH_ID = '')
SET @I_BRANCH_ID = '0'
EXECUTE GetBalance @I_BRANCH_ID
編集:
より多くのパラメータを使用すると、次のように合理化できます。
SELECT @param1 = CASE WHEN @param1 = '' THEN '0' ELSE @param1 END,
@param2 = CASE WHEN @param2 = '' THEN '0' ELSE @param2 END,
@param3 = CASE WHEN @param3 = '' THEN '0' ELSE @param3 END
... etc etc
DECLARE @I_BRANCH_ID VARCHAR(MAX)
SET @I_BRANCH_ID = CASE WHEN @I_BRANCH_ID = '' THEN '0' ELSE @I_BRANCH_ID END
EXEC GETBALANCE @I_BRANCH_ID
EXECUTE ステートメントとは別に変数の値を設定してみてください。
DECLARE @I_BRANCH_ID VARCHAR(MAX)
SET @I_BRANCH_ID = CASE WHEN @I_BRANCH_ID = '' THEN 0 ELSE @I_BRANCH_ID END
EXEC GETBALANCE @I_BRANCH_ID