gpt4 book ai didi

mysql - 无法创建函数

转载 作者:行者123 更新时间:2023-11-30 23:30:09 24 4
gpt4 key购买 nike

我有这个 mysql 过程的代码,但我不能创建过程

DELIMITER @@
CREATE PROCEDURE hrpayroll.sal_gen_init
(IN `emp_id` INT)
BEGIN
DECLARE branch_cd varchar(20)
DECLARE comp_cd varchar(20)
SELECT p.BRANCH_CD IN branch_cd,p.COMP_CD IN comp_cd FROM p_employee_mst p WHERE p.EMPL_ID = emp_id
INSERT INTO p_sal_hdr (COMP_CD,BRANCH_CD,EMPL_ID) VALUES(comp_cd,branch_cd,emp_id)
END @@
DELIMITER ;

我遇到了这个错误

错误代码 1064,SQL 状态 42000:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 'DECLARE comp_cd varchar(20) 附近使用的正确语法 在第 5 行选择 p.BRANCH_CD IN branch_cd,p.COMP_CD IN com'

最佳答案

有一些语法错误。试试这个程序 -

CREATE PROCEDURE sal_gen_ini(IN `emp_id` INT)
BEGIN
DECLARE branch_cd_var varchar(20);
DECLARE comp_cd_var varchar(20);

SELECT
p.BRANCH_CD, p.COMP_CD INTO branch_cd_var, comp_cd_var
FROM
p_employee_mst p
WHERE
p.EMPL_ID = emp_id;

INSERT INTO p_sal_hdr (COMP_CD,BRANCH_CD,EMPL_ID)
VALUES(comp_cd_var,branch_cd_var,emp_id);
END

请注意,我还重命名了声明的变量以避免字段和变量值出现问题。


尝试使用一个SELECT...INTO Statement而不是两个 SELECT 和 INSERT。

关于mysql - 无法创建函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com