【问题标题】:"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。

标签: mysql stored-procedures mysql-workbench procedure


【解决方案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

【讨论】:

    猜你喜欢
    • 2022-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2021-11-04
    • 2019-12-06
    • 2021-12-20
    • 2014-01-04
    • 2020-01-03
    相关资源
    最近更新 更多