【发布时间】:2021-05-14 01:57:06
【问题描述】:
我想要的列 id 中的结果:S-1、S-2、S-3
CREATE OR REPLACE TRIGGER auto_id
BEFORE INSERT ON login
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
:NEW.id := :NEW.id || to_char('"S-"',to_char(seq_log.nextval));
END login;
但是当我插入数据时,它的错误 ORA-06502: PL/SQL: 数字或值错误: 字符到数字的转换错误 ORA-06512:在“WKSP_WORKSPACE0089.AUTO_ID”,第 3 行 ORA-04088: 执行触发器“WKSP_WORKSPACE0089.AUTO_ID”期间出错 ORA-06512:在“SYS.DBMS_SQL”,第 1721 行
【问题讨论】:
-
如果
id被声明为数字而不是字符串,则会发生这种情况。
标签: sql database oracle triggers auto-increment