【问题标题】:ERROR 1064 (42000) How Do I Correct the syntax?ERROR 1064 (42000) 如何更正语法?
【发布时间】:2020-10-21 14:22:00
【问题描述】:
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 ;

第 2 行的 ERROR 1064 (42000):您的 SQL 语法有错误; 检查与您的 MySQL 服务器版本相对应的手册 在 'IN NUMBER) AS W_CHK NUMBER = 0 附近使用的正确语法; W_SUBT 数字 = 0; W_TAX NUMBER = 0; BEGIN SELEC' 在第 1 行

【问题讨论】:

标签: mysql sql stored-procedures


【解决方案1】:

您的语法错误。试试这个:

CREATE PROCEDURE prc_inv_amounts (IN W_IN NUMBER)

【讨论】:

  • @jaycarn,你有一个新的语法错误这一事实表明这篇文章回答了你发布的问题。您应该选择它作为正确答案,然后,如果您无法解决新问题,请发布一个包含该错误详细信息的新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 2015-05-12
相关资源
最近更新 更多