Oracle: Schemaabhängiger Scriptaufruf

Hallo,

ich habe 3 Schemata für 3 Teilanwendungen.
Die Schemata sind weitestgehends identisch.

Jetzt sollen mehrere Scripte bei einem Update eingespielt werden - was ich natürlich über ein Steuerscript automatisieren will.

Nu bin ich aber faul und will nicht 3 Steuerscripte schreiben, nur weil es 2 Scripte gibt, die in 2facher Ausführung vorhanden sind (weil es halt hier und da doch kleine Unterschiede gibt) und nur auf 2 der Schemata laufen sollen

ich habe mir folgendes gedacht:

declare
usr_name char(20) ;
begin
select username into usr_name from user_users;
if usr_name like ‚USER%‘ then
start sql1.txt;
else
start sql2.txt;
end if;
end;
/

nur leider kennt plsql ja kein Start und auch mit execute immediate ‚start sql1.sql‘; geht das nicht weil „start“ kein sql-Befehl ist.

Gibt es einen Weg, wie ich ein Script aus plsql heraus starte ?

Grüße

Chris

Also, was geht ist

declare
usr_name char(20) ;
begin
select username into usr_name from user_users;
if usr_name like ‚USER%‘ then
@sql1.sql;
else
@sql2.sql;
end if;
end;
/

sql1.sql =
execute immediate (‚insert into user_name (select username , 1 from user_users)‘);

sql2.sql =
execute immediate (‚insert into user_name (select username , 2 from user_users)‘);

aber das ist nicht das was ich gebrauchen kann, da in den Scripts ja mehrere DML Operationen sind und wenn ich erst jede Zeile mit einem „execute immediate“ beglücken muß, dann kann ich schneller alles händisch starten…

Es kann ja auch sein, das es nichts gibt…

Grüße

Chris