【发布时间】:2019-11-20 14:57:19
【问题描述】:
试图在employee_details 中创建一个过程来(插入、删除和更新)值。
CREATE DEFINER=`root`@`localhost` ALTER PROCEDURE `alter_employeedetails`(in employee_id int(11), employee_name VARCHAR(30), employee_join_date date,
employee_desgination varchar(30), employee_salary bigint(20), employee_address varchar(30),
employee_contact varchar(30), employee_email_id varchar(30)
BEGIN
IF @StatementType = 'Insert'
BEGIN
insert into employee_details values
(employee_id, employee_name, employee_join_date, employee_desgination, employee_salary, employee_address, employee_contact, employee_email_id)
END
IF @StatementType = 'Update'
BEGIN
UPDATE employee_details SET
(employee_name = @employee_name, employee_join_date = @employee_join_date, employee_designation = @employee_desgination,
employee_salary = @employee_salary, employee_address = @employee_address, employee_contact = @employee_contact, employee_email_id = @employee_email_id)
WHERE employee_id = @employee_id
END
else IF @StatementType = 'Delete'
BEGIN
DELETE FROM employee_details where employee_id = @employee_id
END
end
【问题讨论】:
-
每个语句都必须终止,你不需要在 if 语句中开始 end 语句,每个 if 都必须有一个 THEN 和 END IF,CREATE 和 ALTER 不应该一起出现。错误的括号 set 语句(不应该是),Elseif 不是 else if。 - 请阅读手册。 (你可能没有设置分隔符)