ERROR 1064 (42000) 如何更正语法?

ERROR 1064 (42000) How Do I Correct the syntax?

DELIMITER $$
CREATE PROCEDURE prc_inv_amounts (W_IN IN NUMBER)
AS
W_CHK NUMBER = 0;
W_SUBT NUMBER = 0;
W_TAX NUMBER = 0;
BEGIN
SELECT COUNT(*) INTO W_CK FROM INVOICE WHERE INV_NUMBER = W_IN;
IF W_CK = 1 THEN
SELECT SUM(LINE_TOTAL) INTO W_SUBT FROM LINE
WHERE
LINE.INV_NUMBER = W_IN;
W_TAX =W_SUBT * 0.08;
UPDATE INVOICE
SET INV_SUBTOTAL = W_SUBT,
INV_TAX = W_TAX,
INV_TOTAL =W_SUBT + W_TAX
WHERE INV_NUMBER = W_IN;
END IF;
END; $$
DELIMTER ;

ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN NUMBER) AS W_CHK NUMBER = 0; W_SUBT NUMBER = 0; W_TAX NUMBER = 0; BEGIN SELEC' at line 1

你的语法有误。试试这个:

CREATE PROCEDURE prc_inv_amounts (IN W_IN NUMBER)