-
Mutualiser les SET
Bonjour,
J'ai une question assez bateau... Je vais avoir une série de requête SQL à faire exécuter par SQL*Plus, avec les mêmes commandes de formatage (SET WRAP OFF, SET NEWPAGE NONE, etc.). Le tout sera déclenché par des scripts Python.
Qu'est-ce qu'il y a comme moyen pour que toutes mes requêtes SQL, chacune étant dans un fichier .sql différent, soient exécutées avec les même SET, à part évidemment copier-coller les SET au début de chaque fichier de requête ?
Merci d'avance !
-
Bonjour,
Quelle est la version de la BDD?
Tu peux configurer le fichier glogin.sql au niveau site ou alors le fichier login.sql pour y stocker ces SET.
https://docs.oracle.com/en/database/...F-BA965CE16B2E
-
Merci, c'est exactement ça que je n'arrivais pas à retrouver !
-
En fait, il y a un point que je ne comprends pas : le fichier login.sql est censé être spécifique à un profil. Qu'est-ce que ça veut dire exactement ? Concrètement, si j'ai plusieurs users qui utilisent la même machine cliente, est-ce que je peux avoir des login.sql différents pour chacun d'entre eux ?
-
Par profil cela signifie qu'il faut renseigner la variable d'environnement ORACLE_PATH (sur Linux) ou SQLPATH (sur Windows). Donc si tu te connectes par exemple avec ton user toto alors ce sera la valeur de la variable d'environnement ORACLE_PATH associée à toto qui sera lue pour trouver le login.sql.
Si tout le monde se connecte avec toto sur la machine cliente alors oui ce sera le même fichier login.sql qui sera utilisé.
-
OK, c'est ce que je craignais. Merci de la précision !
-
Sinon il suffit de mutualiser les SET dans un fichier config.sql par exemple et de l’appeler au début des différents script .sql existant avec @config.sql
-
Au final, j'ai fait le contraire : un fichier format.sql, qui ensuite appelle le &1 passé en paramètre.