【发布时间】:2012-02-22 08:02:54
【问题描述】:
我有一个返回这样一个数字的序列
CREATE SEQUENCE test.SEC_FORM
START WITH 9000
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;
我创建了一个触发器来将此值插入到表格 FORM 中。
CREATE OR REPLACE TRIGGER test.TRG_SEC_FORM
BEFORE INSERT
ON test.FORM
FOR EACH ROW
BEGIN
IF :NEW.FORM_ID IS NULL THEN
SELECT test.SEC_FORM.NEXTVAL INTO :NEW.FORM_ID FROM DUAL;
END IF;
END ;
但是当表单表中的 form_id 是字符串时,序列返回整数。 我需要一个像'9000'之类的字符串。
我该怎么做?
【问题讨论】:
-
这在 11g 上对我有用,无需显式转换为 char
-
是的,问题已通过使用 to_char(test.sec_form.nextval) 解决。
-
那么您应该将 penartur 的答案标记为正确答案:)