我的表的PK用的是Urowid类型的,怎么设定默认值才能在insert时候自动填充啊?

解决方案 »

  1.   

    在指定字段默认值的时候是不能用 ROWID 这个伪列的不明白你为什么要使用 UROWID 类型的主键如果的确要用,也有办法:SQL> CREATE TABLE T (PK UROWID,A VARCHAR2(1));表已创建。CREATE OR REPLACE TRIGGER TRG_TEST
    BEFORE INSERT ON TEST.T
    FOR EACH ROW
    BEGIN
       :NEW.PK:=CHARTOROWID(DBMS_RANDOM.STRING('A',18));
    END;
    /做一个假的rowid即可。