Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> ORA-04044: procedure, function, package, or type is not allowed here
I've created a public procedure called generate_id( in varchar2, out
varchar2 ).
The procedure is owned by user tdadmin, but I granted execute by saying:
> grant execute on procedure generate_id to public;
I have also created a trigger (as another user) that calls this procedure, like so:
> create or replace
> TRIGGER create_tcid
> BEFORE INSERT OR UPDATE OF ts_user_01
> ON test
> FOR EACH ROW
> declare
> id varchar2(20);
> begin
> tdadmin.generate_id( 'test', id ); ********************
> :new.ts_user_01 := id;
> end;
However, whenever I attempt an insert, I receive the following message:
> ORA-04044: procedure, function, package, or type is not allowed here
> ORA-06512: at "TDADMIN.GENERATE_ID", line 12
> ORA-06512: at "FORLANODB.CREATE_TCID", line 4
> ORA-04088: error during execution of trigger 'FORLANODB.CREATE_TCID'
What have I done wrong?
Thanks,
Chris
--
Chris Forlano
Automation Development
Nortel Networks, Maidenhead
590 4342 (01628 434 342)
cforlano_at_nortelnetworks.com
Received on Wed Sep 29 1999 - 11:34:31 CDT
![]() |
![]() |