0

我想使用我创建的函数将多个客户许可证插入我的表中。我解析一个由 . 分隔的字符串,。例如:

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 ;
4

0 回答 0