gpt4 book ai didi

mysql - 如何在 MySQL 中创建存储过程

转载 作者:行者123 更新时间:2023-11-29 07:32:51 26 4
gpt4 key购买 nike

我的 table 是

create table employee(
id int(10) auto_increment primary key,
name varchar(100),
addressId int(10)
);
go
create table address(
id varchar(10) auto_increment primary key,
name varchar(100)
);

这是我的程序

create procedure insert_employee(IN emp_name varchar(100),IN emp_address varchar(100))
begin


DECLARE @addressId varchar(10);
SELECT @addressId:=id from address where name LIKE '%'+emp_address+'%';


IF @addressId = ''
THEN
set @addressId= 'DBS-2136';-- It will come form function
INSERT INTO address values(@addressId,emp_address);
END IF

INSERT INTO employee values(emp_name,@addressId);
END

我不明白这是什么问题。如果我在 ms sql server 中编写这种类型的 if 条件,则不会出现错误。每次执行过程 ti 在 end if 中都说错误。我在谷歌搜索但对此一无所知。声明变量有问题。如果我复制表格 mysql 文档也不起作用。这是为什么?请帮我1. mysql存储过程下声明变量的正确方法是什么,2.如何在mysql存储过程中写if条件。谢谢

最佳答案

mysql 和 mssql 之间有很多差异。声明的变量不应包含'@',所有语句必须终止,+是算术运算符,如果您的程序有多个语句,则必须在前后设置分隔符。延伸阅读 How to declare a variable in MySQL? https://dev.mysql.com/doc/refman/8.0/en/stored-programs-defining.html

关于mysql - 如何在 MySQL 中创建存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50387042/

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