11
プロシージャをsql plusからmysqlに変換しようとしていますが、3番目の行(W_IN IN NUMBER)に構文エラーが表示され、INに構文エラーがハイライトされています。プロシージャを作成するMySQL
SQLプラス:
CREATE OR REPLACE PROCEDURE PRC_CUS_BALANCE_UPDATE (W_IN IN NUMBER) AS
W_CUS NUMBER := 0;
W_TOT NUMBER := 0;
BEGIN
-- GET THE CUS_CODE
SELECT CUS_CODE INTO W_CUS
FROM INVOICE
WHERE INVOICE.INV_NUMBER = W_IN;
-- UPDATES CUSTOMER IF W_CUS > 0
IF W_CUS > 0 THEN
UPDATE CUSTOMER
SET CUS_BALANCE = CUS_BALANCE +
(SELECT INV_TOTAL FROM INVOICE WHERE INV_NUMBER = W_IN)
WHERE CUS_CODE = W_CUS;
END IF;
END;
のmySQL:
-- Trigger DDL Statements
DELIMITER $$
CREATE PROCEDURE prc_cus_balance_update (W_IN IN NUMBER)
AS
W_CUS NUMBER = 0;
W_TOT NUMBER = 0;
BEGIN
-- GET CUS_CODE
SELECT CUS_CODE INTO W_CUS
FROM INVOICE
WHERE INVOICE.INV_NUMBER = W_IN;
-- UPDATES CUSTOMER IF W_CUS > 0
IF W_CUS > 0 THEN
UPDATE CUSTOMER
SET CUS_BALANCE = CUS_BALANCE +
(SELECT INV_TOTAL FROM INVOICE WHERE INV_NUMBER = W_IN)
WHERE CUS_CODE = W_CUS;
END IF;
END $$
DELIMITER ;
は、すべてのヘルプは大歓迎です!
ああ、私はそれを手に入れます。ありがとう!!! –
デリミタとして$$を割り当てた後、Dropのステートメントの終わりとしてそれを配置する必要があります – Sayka