Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Generating unique key numbers

Re: Generating unique key numbers

From: Hank Oredson <hank_oredson_at_mentorg.com>
Date: 1997/12/02
Message-ID: <348476EF.6BC9@mentorg.com>#1/1

Jonathan Gennick wrote:
>
> On 29 Nov 97 15:39:10 GMT, "Michal MotalĂ­k"
> <cross_at_zl.inext.cz> wrote:
>
> >I can not create trigger:
> >
> >CREATE TRIGGER tabtrig
> >BEFORE INSERT ON tab
> >FOR EACH ROW
> >BEGIN
> > :NEW.id := tabseq.NEXTVAL;
> >END;
> >
> >The sequence "tabseq" was created.
> >I get the error PLS-00357.
> >(reference to sequence is not permitted in these context)
> >
> >Does anybody know where the problem is?
>
> To get a sequence value in Oracle, you have to select from
> dual. You need to do something like:
>
> create trigger tabtrig
> before insert on tab
> for each row
> DECLARE
> nextkey number;
> BEGIN
> select tabseq.nextval into nextkey from dual;
> :new.id := nextkey;
> END;
create or replace trigger tr_eventlog_ins   before insert on eventlog for each row begin
  select id.nextval into :new.id from dual; end;

> ------------------------------------
> Jonathan Gennick
> gennick_at_worldnet.att.net
> http://home.att.net/~gennick
 

-- 
Mentor Graphics Library Products Group - "Parts 'R Us!"
Work: hank_oredson_at_mentorg.com  Home: HOredson_at_aol.com
Work: http://www.eparts.com     Home: http://members.aol.com/W0RLI
Received on Tue Dec 02 1997 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US