2010-02-25 8 views
89

Lorsque je tente d'exécuter cette instruction dans Oracle SQL Developer 2.1 une boîte de dialogue « Entrer Remplacement variable » affiche demandant une valeur de remplacement pour TOBAGO,Comment éviter la substitution des variables dans Oracle SQL Developer avec « trinidad & tobago »

update t set country = 'Trinidad and Tobago' where country = 'trinidad & tobago'; 

Comment puis-je éviter cela sans avoir recours à chr(38) ou u'trinidad \0026 tobago' qui à la fois obscure l'objet de la déclaration?

+1

C'est étrange, quand j'ai essayé d'exécuter une requête exactement comme dans SQL Developer 2.1 je n'ai pas eu la fenêtre de la variable de remplacement? (Et mes définitions sont très certainement sur) – wasatz

+0

Cette question m'a beaucoup aidé. –

Répondre

145

Appelez ce avant que la requête:

set define off; 

Alternativement, aki:

update t set country = 'Trinidad and Tobago' where country = 'trinidad &' || ' tobago'; 

De Tuning SQL*Plus:

SET DEFINE OFF désactive l'analyse syntaxique des commandes pour remplacer variables de substitution avec leurs valeurs.

+8

Qu'est-ce que (autrement) définit? Définir? – Xonatron

12

En SQL * Plus mettre SET DEFINE ? en haut du script résoudra normalement cela. Peut aussi fonctionner pour Oracle SQL Developer.

+1

SET DEFINE? supprime le comportement de substitution de variables dans SQL Developer 2.1. Comme indiqué par Nick SET DEFINE OFF fonctionne également. –

-3

J'avais aussi des problèmes avec ça. Quelque chose démarrait chaque fois que j'ai essayé d'établir une connexion à n'importe quel DB.

Ce qui a fonctionné pour moi était de supprimer tout script de démarrage que vous pourriez avoir configuré!

dire Tools>Preferences...>Database et supprimer tout chemin de fichier que vous avez dans la zone de texte intitulé « Nom du fichier pour le script de démarrage de la connexion »!

-2

désactiver la numérisation; La commande ci-dessus fonctionne également.

+0

Ceci ne fournit pas de réponse à la question. Pour critiquer ou demander des éclaircissements à un auteur, laissez un commentaire en dessous de son message - vous pouvez toujours commenter vos propres messages, et une fois que vous aurez acquis une réputation suffisante, vous pourrez commenter n'importe quel article. Si vous avez une question connexe mais différente, posez une nouvelle question en référence à celle-ci si cela peut vous aider à situer le contexte. –