尝试创建一个触发器,使用短划线拆分文档的文件名,然后将这2个条目插入2个单独的字段
即。文件名可能是12345-67890,我需要12345进入1字段,67890进入另一个字段 - 条目没有任何特定的长度所以它可能总是不同但我有这个作为一个想法,但它不工作
DELIMITER //
CREATE TRIGGER triggername
BEFORE INSERT ON triggername.tablename
FOR EACH ROW
BEGIN
/* Move the value from one column to another */
SET NEW.DOCID = NEW.DOCID;
/* Check a text field with IF statement */
SPLIT_STR(filename, '-', 1) as ponum,
SPLIT_STR(filename, '-', 2) as invoicenum
END IF;
END;
//
答案 0 :(得分:0)
我建议的一个选项是使用common_schema,特别是get_num_tokens()
和split_token()
,这会有所帮助。
这是一个简单的使用示例,您可以根据自己的解决方案进行调整:
...
SET `_filename` := NEW.`filename`, `_delimiter` := '-';
IF (`common_schema`.`get_num_tokens`(`_filename`, `_delimiter`) = 2) THEN
SET `ponum` := `common_schema`.`split_token`(`_filename`, `_delimiter`, 1);
SET `invoicenum` := `common_schema`.`split_token`(`_filename`, `_delimiter`, 2);
END IF;
...