Hello, I create the sequence "seqtest". Then, when I was to create the
table:

        CREATE TABLE test (
                id      INTEGER NOT NULL        DEFAULT seqtest.NEXTVAL,
                name    CHAR(20)
        )

        I get the "Missing constant value" error in POS(seqtest.NEXTVAL)

        Help files says for DEFAULT values:

                <value_spec> ::= <literal> | <parameter_spec>
                | NULL | USER | USERGROUP | LOCALSYSDBA
                | SYSDBA [(<user_name>)] | SYSDBA [(<usergroup_name>)]
                | [<owner>.]<sequence_name>.NEXTVAL | [<owner>.]<sequence_name>.CURRVAL
                | DATE | TIME | TIMESTAMP | TIMEZONE | TRUE | FALSE | TRANSACTION


        But, if table was:

        CREATE TABLE test (
                id      INTEGER NOT NULL        DEFAULT seqtest.NEXTVAL,
                name    CHAR(20)
        )

        I can to do that:

                INSERT INTO test VALUES( seqtest.NEXTVAL, 'John')


        Why if seqtest.NEXTVAL is a valid Integer value for INSERT , and it is not
for DEFAULT ?

        Why do help files give <sequence_name>.NEXTVAL as a valid syntax for
DEFAULT ?

        Thanks.

        Alberto.


        P.D: Yes, I can do a trigger,  but I prefer not to do it.



Reply via email to