109 votes

Comment ignorer les esperluettes dans un script SQL exécuté à partir de SQL Plus?

J'ai un script SQL qui crée un package avec un commentaire contenant une esperluette (&). Lorsque j'exécute le script à partir de SQL Plus, je suis invité à entrer une valeur de remplacement pour la chaîne commençant par &. Comment désactiver cette fonctionnalité pour que SQL Plus ignore la perluète?

192voto

Austin Salonen Points 28057

Cela peut fonctionner pour vous:

 set define off
 

Sinon, l'esperluette doit être à la fin d'une chaîne,

 'StackOverflow &' || ' you'
 

EDIT: J'étais content au clic lors de la sauvegarde ... Cela a été référencé à partir d'un blog .

29voto

Leigh Riffel Points 2550

Si vous utilisez parfois des variables de substitution, vous ne voudrez peut-être pas désactiver la définition. Dans ces cas, vous pouvez convertir l'esperluette depuis son équivalent numérique sous la forme de || Chr(38) || ou de l'ajouter sous la forme d'un caractère unique sous la forme de || '&' || .

14voto

Cauca Points 86

J'ai résolu avec le code ci-dessous:

 set escape on
 

et mettez un \ à côté et à gauche 'value_\&_intert'

Att

3voto

user19387 Points 63

Selon cette belle FAQ, il existe plusieurs solutions.

Vous pouvez également être en mesure d'échapper à l'esperluette avec le caractère barre oblique inversée "\" si vous pouvez modifier le commentaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X