我想使用我创建的函数将多个客户许可证插入我的表中。我解析一个由 . 分隔的字符串,。例如:
SELECT INSERT_CUS(1, '111,222,333');
这应该产生一个许可证表,如:
| cus_id | 执照 |
|---|---|
| 1 | 111 |
| 1 | 222 |
| 1 | 333 |
CREATE TABLE customers(
cus_id int not null
);
CREATE TABLE licenses(
cus_id int not null, foreign key (cus_id) references customers(cus_id),
license int not null
);
但是,它出错了,因为我试图将一个字符串插入一个 int 列。
DELIMITER //
CREATE FUNCTION INSERT_CUS(P_CUS_ID INT, P_LICENSES VARCHAR(512))
RETURNS INT UNSIGNED
BEGIN
INSERT INTO licenses (cus_id, license) VALUES (P_CUS_ID, P_LICENSES);
RETURN 1;
END; //
DELIMITER ;