Mysql存储过程修改,熟悉mysql的来。
来源:百度知道 编辑:UC知道 时间:2024/05/24 09:08:42
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`Update_CompanyInfo` $$
CREATE PROCEDURE `test`.`Update_CompanyInfo`(in N_id varchar(20),in O_id varchar(20),in N_name varchar(60),in N_tel varchar(20),in N_addr varchar(20),in dealflag varchar(10))
BEGIN
declare @Tmp int
if(O_id is not null or O_id!='') then
select count(*) into @tmp from companyinfo where id=O_id;
else
select count(*) into @tmp form companyinfo where id=N_id;
end if;
if(dealflag!='delete' and @tmp=0) then
insert into companyinfo (id,name,tel,addr)values(N_id,N_name,N_tel,N_addr);
elseif(dealflag='delete' and @tmp=1) then
delete from companyinfo where id=O_id;
elseif(dealflag!='delete' and @tmp=1) then
update companyinfo set name=N_name,tel=N_tel,addr=N_addr where id=O_id;
end if;
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`Update_CompanyInfo` $$
CREATE PROCEDURE `test`.`Update_CompanyInfo`(in N_id varchar(20),in O_id varchar(20),in N_name varchar(60),in N_tel varchar(20),in N_addr varchar(20),in dealflag varchar(10))
BEGIN
declare @Tmp int #这里记得加‘;’
if(O_id is not null or O_id!='') then # 可以用<>
select count(*) into @tmp from companyinfo where id=O_id;
else
select count(*) into @tmp form companyinfo where id=N_id;
end if;
if(dealflag!='delete' and @tmp=0) then
insert into companyinfo (id,name,tel,addr)values(N_id,N_name,N_tel,N_addr);
elseif(dealflag='delete' and @tmp=1) then
delete from companyinfo where id=O_id;
elseif(dealflag!='delete' and @tmp=1) then
update companyinfo set name=N_name,tel=N_tel,addr=N_addr where id=O_id;
end if;
END $$
DELIMITER