Quand ou Pourquoi utiliser un “SET DÉFINIR OFF” dans la Base de données Oracle
Je suis de regarder un Script dans Oracle et je vois quelque chose que je ne reconnais pas
REM INSERTING into database1."Users"
SET DEFINE OFF;
Insert into database1."Users" ("id","right") values ('1','R');
Je suis à la recherche de la documentation sur "set de définir off" et c'est littéralement écrit "désactiver le traitement des commandes, afin de remplacer la variable de substitution avec leurs valeurs"
Je ne comprends pas vraiment ce qu'ils veulent dire.
Quelqu'un peut m'aider?
- désactive invitant des variables de substitution. si vous n'êtes pas invité à insérer une valeur quand il voit votre variable de substitution, je crois, la valeur par défaut est &.
- C'est un paramètre pour le client SQL, pas de la base de données elle-même. Et donc c'est documenté dans SQL*Plus manuel: docs.oracle.com/cd/E11882_01/server.112/e16604/...
Vous devez vous connecter pour publier un commentaire.
Par défaut, SQL Plus gâteries "& " comme un caractère spécial qui commence une chaîne de substitution. Cela peut causer des problèmes lors de l'exécution de scripts qui se comprennent "& " pour d'autres raisons:
Si vous savez que votre script contient (ou des) données contenant '&' les caractères, et vous ne voulez pas que le comportement de substitution comme ci-dessus, puis utilisez
set define off
pour éteindre le comportement lors de l'exécution du script:Vous voudrez peut-être ajouter
set define on
à la fin du script pour restaurer le comportement par défaut.Voici l'exemple:
Avec
set define off
, il a fallu une ligne avec&var
valeur, invite l'utilisateur à entrer une valeur pour elle et remplacé&var
avec la valeur entrée (dans ce cas,X
).