Définition et Utilisation de Variables dans .les scripts sql

Je suis en train de définir des variables dans un .fichier sql afin que je puisse les utiliser dans mes relevés sql. Mais je suis tellement confus au sujet de la façon dont ces variables sont définies, et je ne peux pas trouver une seule bonne ressource en ligne qui a expliqué tout cela de manière claire. J'ai suivi les recommandations de différentes sources et je reçois des erreurs de compilation dans "Oracle SQL Developer'. Voici mes 2 problèmes:

Problème 1: Il semble que vous pouvez définir des variables dans la suite de 2 façons. Quelle est la différence entre ces 2 façons, et puis-je utiliser les deux?

define first_name = Joe;
select * from customer where name = '&firstname';

ou

variable first_name CHAR;
exec :first_name:= 'Joe';
select * from customer where name = :firstname;

Problème 2: Dans la première méthode (le sens de la définir à l'aide de la commande), puis-je définir une variable de type nombre et si oui, comment puis-je le faire?

  • Il semble que vous avez oublié de mettre fin à la première ligne dans le premier bloc de code avec un point-virgule. En outre, il peut aider si vous poster les erreurs de compilation que vous obtenez.
  • Bref, la réponse au problème n ° 2: aucun. Voir aussi stackoverflow.com/a/7783530.
  • J'ai élargi ma réponse à décrire la différence entre "1" et "problème 2". Luke est exact que la réponse à "le problème 2" est pas; j'espère que mon élargi réponse explique pourquoi.
  • Merci Ed. Et Grâce À La Chance. J'ai juste regardé votre réponse à cette question; ce Qui aurait été exactement ce que je cherchais; la différence entre les lier et de remplacer les variables.
InformationsquelleAutor user1888243 | 2013-03-28