PL/SQL de la Requête avec les Variables
J'ai une assez complexe requête qui permettra de faire référence à une seule date de début ou la date d'arrêt à plusieurs reprises tout au long de. Je vais avoir à exécuter cette requête pour 3 différents exercices, et ne veulent pas avoir à traquer la date du 17 fois pour changer tout au long de ma requête.
Est-il un moyen de définir une variable au début de ma requête et de référence de l'ensemble? Je ne suis pas à la recherche d'écrire une fonction entière, juste référence à une variable tout au long de ma requête.
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas vraiment dire comment vous faites référence à ce que je vais montrer à partir de SQL*Plus de point de vue.
Deux façons
Avez vous invite pour la valeur. Puisque vous utilisez la même variable plusieurs fois, vous aurez envie d'utiliser le && opérateur de.
Alternativement, vous pouvez l'installer avant l'exécution de votre SQL.
Oui, cela dépend de comment vous voulez le faire.
Vous pouvez utiliser un anonyme procédure IE:
Ou si vous exécutez la requête dans SQLPlus, vous utilisez
&
de noter variables (IE: &your_date), et sera invité pour la valeur lorsque vous exécutez le script.Comme OMG Poneys dit, à l'intérieur de PL/SQL, vous pouvez toujours vous référer à PL/SQL variable (y compris les paramètres) droit dans le SQL, tant que c'est le SQL statique. En dehors de PL/SQL, ou si votre SQL est dynamique (parce que natif SQL dynamique ne prend pas en charge réutilisables paramètres nommés à moins de 10g), vous pouvez utiliser l'astuce suivante. Ajouter les points suivants avant de la clause where dans ta requête:
Et partout où vous voulez faire référence à cette valeur dans votre requête principale, appeler
Dateview.Mydate
Ensuite, lorsque vous exécutez la requête, il vous suffit de passer dans l'un paramètre de liaison.Si vous utilisez Crapaud avec le second bouton de la souris -> Execute Script, afin de ne pas vous demander de valeurs: