一直试图弄清楚为什么这不是编译并给我一个错误。它必须是简单的东西。我有一个接受五个参数的SP,将描述设置为空字符串,将date_added设置为今天。想要调用sp并在表中插入一行。
这是我的代码:
delimiter //
create procedure insert_products
(
category_id_param int,
product_code_param varchar(10),
product_name_param varchar(255),
list_price_param decimal(10,2),
discount_percent_param decimal(10,2)
)
begin
declare description_var text;
declare date_added_var datetime;
--validate parameters
if list_price_param < 0 then
signal sqlstate '22003'
set message_text = 'List price must be positive number',
mysql_errno = 1264;
elseif discount_price_param < 0 then
signal sqlstate '22003'
set message_text = 'Discount percent cannot be negative',
mysql_errno = 1264;
end if;
--set variable
set description_var = '';
set date_added_var = now();
insert into products
values(default, category_id_param, product_code_param,
product_name_param,description_var, list_price_param,
discount_percent_param, date_added_var);
end//
delimiter ;
call insert_products(33, 100, 'jet ski', 25.66, .30);
答案 0 :(得分:2)
答案 1 :(得分:-1)
尝试删除:
delimiter //
和
//
delimiter
还指定columnNames:
insert into products (column1,column2,column3,...)values()
第三种选择:
<强>从强>
end//
要强>
end;//