"LEFT" 在此位置无效,应为 ';' - SQL过程

Posted

技术标签:

【中文标题】"LEFT" 在此位置无效,应为 \';\' - SQL过程【英文标题】:"LEFT" is not valid at this position, expecting ';' - SQL Procedure"LEFT" 在此位置无效,应为 ';' - SQL过程 【发布时间】:2021-10-23 02:46:32 【问题描述】:

对于下面的 SQL 查询,

CREATE PROCEDURE addPayments()
BEGIN
       INSERT INTO payment (pay_date, salary_amount, employee_id)
       SELECT curdate(), designation.salary, employee.id
       FROM employee   LEFT INNER JOIN designation
       ON employee.designation_id=designation.id;
END

我收到了这个错误。

"Left" is not valid at this position, expecting ';'

谁能指出我在这里做错了什么?并更正声明:)

Followed this example

【问题讨论】:

没有LEFT INNER加入。 我不明白。我对此比较陌生 LEFT 联接与 INNER 联接不同。您不能将联接定义为 LEFT INNER。 【参考方案1】:

没有 LEFT INNER JOIN 这样的东西,它们总是LEFT OUT JOIN

DELIMITER $$
CREATE PROCEDURE addPayments()
BEGIN
       INSERT INTO payment (pay_date, salary_amount, employee_id)
       SELECT curdate(), designation.salary, employee.id
       FROM employee LEFT JOIN designation
       ON employee.designation_id=designation.id;
END

【讨论】:

以上是关于"LEFT" 在此位置无效,应为 ';' - SQL过程的主要内容,如果未能解决你的问题,请参考以下文章