Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann man den Wert einer globalen Variablen in einem PL/SQL-Paket dynamisch ändern?

Wenn Sie Oracle 9i oder höher verwenden, sollten Sie stattdessen ein Verzeichnisobjekt verwenden. Dies ist sicherer, da es nur vollständige Pfade zulässt (keine Wildcards). Es erfordert auch keinen Neustart der Datenbank, im Gegensatz zur Verwendung von UTL_FILE_DIR in der Datei init.ora. Und es ist weitaus sicherer, da wir bestimmten einzelnen Benutzern Privilegien für jedes Verzeichnis gewähren können.

Aber der Aspekt, der Sie jetzt am meisten interessieren wird, ist, dass die Abstraktion des Verzeichnisobjekts es zu einem Kinderspiel macht, den tatsächlichen Betriebssystempfad zu ändern, sodass er in jeder Umgebung unterschiedlich sein kann. Einfach so:

alter directory temp_data as '/home/oracle/tmp';

Weitere Informationen .