以下是一个mysql存储过程使用输入型参数的例子,能运行通过的
drop procedure cloneAndUpdate;
delimiter //create procedure cloneAndUpdate(prodId int)
begin
declare insertId int default(0);
declare prodCode varchar(10) default '';
select concat('prodId=',prodId);
insert into product(category,countryOrigin,brand,manufacturer,specification_old,standardUnit,referencePrice,bigPacketNum,packetNum,smallPacket,productCode,
productName,productNameEn,licenseNumber,verifyStatus,deleteStatus,verifyTime,deleteTime,addTime,updateTime,specification)
select category,countryOrigin,brand,manufacturer,specification_old,standardUnit,referencePrice,bigPacketNum,packetNum,smallPacket,productCode,
productName,productNameEn,licenseNumber,verifyStatus,deleteStatus,verifyTime,deleteTime,addTime,updateTime,specification
from product where productId=@prodId;
set insertId =last_insert_id();
select concat('insertId=',insertId);
set prodCode=(select productCode from product where productId=insertId);
set prodCode= cast(cast(prodCode as unsigned integer)+1 as char(10));
select concat('prodCode=',prodCode);
update product set bigpacketNum=150,packetNum=1,productCode=prodCode,verifyStatus=2 where productId=insertId;
end
//
set @prodId=174723;
call cloneAndUpdate(@prodId);
变量打印用的也是select