Forum: SQL |
Thema:
Stored Procedure aus Trigger aufrufen |
Von:
Bernd Willmann (
25.11.2006 20:46) |
Hallo Allerseits,
kann mir jemand schreiben, wie die Syntax für den Aufruf einer StoredProcedure aus einem Trigger heraus aussieht?
Mein oding sieht zur Zeit so aus:
declare hashed_id varchar2(255); CS_Count number(1); INV_Count number(1);
user varchar2(50); Account number(1); Type number(2); Disp varchar2(20);
N_ACT_REF number(1); N_ERROR_ID number(2); N_ERROR_MESSAGE varchar2(255);
begin
if :new.LifecycleState ='StateToBe' then
select ltrim(url, '/') into hashed_id from url where rid= :new.RID;
select count(*) into CS_Count from CS where rid = :new.RID;
if CS_Count <> 0 then
update CS set hash_id = hashed_id where rid = :new.rid;
end if;
select count(*) into INV_Count from INV where rid = :new.RID;
if INV_Count <> 0 then
update INV set hash_id = hashed_id where rid = :new.rid;
end if;
select US_DISP into user from CS where RID = :New.rid;
select Account into Account from CS where RID = :New.rid;
select CODE into Type from CS where RID = :New.rid;
select DISPLAY into Disp from CS where RID = :New.rid;
call PCK_KOPIE.CREATE_ACTIVITY ( hashed_id, user, account, Type, Disp, PCK_KOPIE.numberList( 1,2,3), PCK_KOPIE.numberList( 5,2,3), PCK_KOPIE.numberList( 61,2,3), PCK_KOPIE.numberList( 11,2,3), PCK_KOPIE.numberList( NULL ), PCK_KOPIE.numberList( NULL ), N_ACT_REF, N_ERROR_ID, N_ERROR_MESSAGE );
commit;
end if;
end;
Ich bekomme beim Kompiliern die Fehlermeldung:
Zeilen-# = 45 Spalten-# = 6 Fehlertext = PLS-00103: Fand das Symbol "PCK_KOPIE" als eines der folgenden erwartet wurde: := . ( @ % ; Das Symbol ":=" ersetzte "PCK_KOPIE", um fortzufahren.
Was ist verkehrt??
Danke für die Hilfe
Gruß
Bernd
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!