Il existe deux types de variable en SQL-plus : substitution et bind.
Il s'agit de substitution (les variables de substitution peuvent remplacer les options de commande SQL*Plus ou d'autres textes codés en dur) :
définir a = 1;
sélectionner &a from dual;
ne pas définir a;
Il s'agit de bind (les variables bind stockent des valeurs de données pour les instructions SQL et PL/SQL exécutées dans le RDBMS ; elles peuvent contenir des valeurs uniques ou des ensembles de résultats complets) :
var x number;
exec :x := 10;
sélectionner :x from dual;
exec select count(*) into :x from dual;
exec print x;
SQL Developer prend en charge les variables de substitution, mais lorsque vous exécutez une requête avec la syntaxe de bind :var
, vous êtes invité pour le binding (dans une boîte de dialogue).
Référence :
MISE À JOUR les variables de substitution sont un peu compliquées à utiliser, regardez :
définir phone = '+38097666666';
sélectionner &phone from dual; -- le plus est supprimé car c'est un nombre
sélectionnez '&phone' from dual; -- le plus est conservé car c'est une chaîne de caractères
0 votes
En tant que procédure stockée ou script? Si vous codifiez en dur la valeur de EmpIDVar, pourquoi utiliser une variable du tout?