Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Sql*Plus
Sql*Plus Forum d'entraide sur Oracle Sql*Plus
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 12h12   #1
Nouveau Membre du Club
 
Inscription : mai 2002
Messages : 49
Détails du profil
Informations personnelles :
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : mai 2002
Messages : 49
Points : 26
Points : 26
Par défaut Passage de paramètres depuis une ligne de commande DOS

Bonjour,
voici le contenu light de la procedure toto.sql

Code :
1
2
3
4
 
CREATE user &&user IDENTIFIED BY &&user 
       TEMPORARY tablespace &&Temporary_Tablespace 
       DEFAULT tablespace &&UserData_Tablespace
je souhaiterai pouvoir passer directement les paramètres &&user, ... via une ligne de commande DOS du type
Code :
sqlplus  xxx/xxxxx@xxx @toto.sql USER TEMP SPACE
Bien évidemment, la version simple du dessus ne fonctionne pas

Comment dois procéder ?
vince_lille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 14h15   #2
Membre du Club
 
Homme Arnaud
Inscription : octobre 2002
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2002
Messages : 56
Points : 66
Points : 66
En définissant les variables avant les instructions. En batch dos ou en shell, cela ne change rien. Les paramètres sont récupérés dans un script sql*plus de la même façon:

&1, &2, &3........

Code :
1
2
3
4
5
6
7
define user=&1
define Temporary_Tablespace=&2
define UserData_Tablespace=&3
 
CREATE user &&user IDENTIFIED BY &&user 
TEMPORARY tablespace &&Temporary_Tablespace 
DEFAULT tablespace &&UserData_Tablespace;

Code :
sqlplus  xxx/xxxxx@xxx @toto.sql USER TEMP SPACE

NB: On peut utiliser directement les &1, &2... dans le code, mais je préfère passer par des define, c'est plus lisible dans de gros scripts.

[Edit] Une petite recherche google t'aurait donné la même réponse plus rapidement
__________________
Tuning and optimization are not a fix to a bad design. A good design is a fix to a bad design.
Dajon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 15h24   #3
Nouveau Membre du Club
 
Inscription : mai 2002
Messages : 49
Détails du profil
Informations personnelles :
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : mai 2002
Messages : 49
Points : 26
Points : 26
Dajon,
Merci pour ta réponse.

Juste une précision concernant le script : il m'est fournit par un "éditeur" donc pas touche

C'est pour cela que je souhaite directement injecté les paramètres dans le script, indépendamment du nom des variables (si le script est mis a jour et que les noms de variables changent, c'est transparent).

Par contre, ta proposition n'a donnée une idée auxquelles ne n'avais pas pensé : je crée un nouveau script du type

Code :
1
2
3
4
5
 
define user=&1
define Temporary_Tablespace=&2
define UserData_Tablespace=&3
@toto.sql
et c'est à moitié bon car il faudra que je pense à vérifier le nom des variables en cas de mise à jour du soft.

En même temps, comme il n'y en a pas souvent

Merci de ton aide.
vince_lille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 15h36   #4
Membre du Club
 
Homme Arnaud
Inscription : octobre 2002
Messages : 56
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 32
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2002
Messages : 56
Points : 66
Points : 66
Ah en effet, si tu ne peux pas modifier le script en lui même, ta solution est à ma connaissance la seule possible.

Content d'avoir pu t'aider.

(pense à mettre le fil en "résolu" - tu as un bouton en bas de la page normalement - si ton problème est réglé
__________________
Tuning and optimization are not a fix to a bad design. A good design is a fix to a bad design.
Dajon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 16h07   #5
Nouveau Membre du Club
 
Inscription : mai 2002
Messages : 49
Détails du profil
Informations personnelles :
Âge : 40
Localisation : Suisse

Informations forums :
Inscription : mai 2002
Messages : 49
Points : 26
Points : 26
Exact,

j'ai oublié le résolu

Merci et bon we
vince_lille est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h37.


 
 
 
 
Partenaires

Hébergement Web