サンプル データベースからテーブル列を呼び出すストアド プロシージャがありますが、問題は、条件で使用できるように、1 つの列名を変数にしたいということです。私のコードは機能しませんが、変数として作成する方法がわかりません。
列名SALARYを変数にしたい。
これが私のコードです:
CREATE PROCEDURE TAXEXEMPT ()
DYNAMIC RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE display CURSOR WITH RETURN TO CLIENT FOR
SELECT EMPNO, LASTNAME, SALARY, SALARY AS "TAX EXEMPTION"
FROM EMPLOYEE
WHERE WORKDEPT BETWEEN 'C01' AND 'D21';
IF ( SALARY < 15001 ) THEN
--DO NOTHING
ELSEIF ( SALARY >= 15001 OR SALARY <= 22000 ) THEN
UPDATE EMPLOYEE SET "TAX EXEMPTION" = SALARY * 1.03;
ELSEIF ( SALARY >= 22001 OR SALARY <= 32000 ) THEN
UPDATE EMPLOYEE SET "TAX EXEMPTION" = (SALARY * 1.05) + 100;
ELSEIF ( SALARY >= 32001 OR SALARY <= 45000 ) THEN
UPDATE EMPLOYEE SET "TAX EXEMPTION" = (SALARY * 1.07) + 200;
ELSE
--DO NOTHING
END IF;
OPEN display;
END
事前に感謝します。