2009-11-17 4 views
1

J'ai un script qui se connecte simplement à la table dans sql * plus et insère une ligne dans la table.erreur lors de l'exécution d'un script sql * plus

il jette une erreur comme ci-dessous:

SP2-0552: Bind variable "BIND" not declared 

je ne suis pas en mesure de déterminer exactement ce que la variable de liaison est dans la requête qu'il tente d'insérer.

+2

S'il vous plaît poster le texte du script –

+3

Affichage de nous le script pourrait nous aider à résoudre le problème plus facilement – Glen

Répondre

4

Vous essayez d'exécuter une requête SQL comme ceci:

SELECT 1 FROM DUAL WHERE :BIND = 1; 

SQL * Plus identifie :BIND comme une variable de liaison, mais vous n'avez pas encore déclaré un dans votre session. Pour déclarer la variable de liaison, utilisez la commande VAR(IABLE).

VAR BIND NUMBER 

Ensuite, vous pouvez affecter une valeur à la variable.

EXEC :BIND := 1 

Exécutez le select pour confirmer que la variable de liaison est maintenant réglée. Notez que vous pouvez également utiliser cette variable pour conserver les résultats des requêtes à une seule ligne.

SELECT 1 INTO :BIND FROM DUAL; 
Questions connexes