Ich habe eine Anforderung für eine Abfrage. Es muss jede Nummer aus einer Liste auswählen, die NICHT in einer Spalte vorhanden ist. Momentan funktioniert das gut. Diese Abfrage gibt jede Zahl zwischen 1833
und 2000
zurück, die in der Tabelle ATTR
nicht vorhanden ist.Einmalige Verwendung einer temporären Variablen in Oracle SQL Developer
SELECT LEVEL + 1833
FROM DUAL
CONNECT BY LEVEL <= (2000 - 1833)
MINUS
SELECT ID_TX
FROM ATTR
WHERE ID_TX BETWEEN 1834 AND 2000;
Was ich tun möchte, ist dies so benutzerfreundlich wie möglich zu machen. Um das zu tun, kann ich zwei Variablen eingeben, eine STARTING_ID
und LIST_LENGTH
. Jetzt sieht meine Abfrage so aus.
SELECT LEVEL + &STARTING_ID
FROM DUAL
CONNECT BY LEVEL <= &LIST_LENGTH
MINUS
SELECT ID_TX
FROM ATTR
WHERE ID_TX BETWEEN &STARTING_ID AND &STARTING_ID + &LIST_LENGTH;
Zuerst war ich mit &&
, aber dann konnte ich nur diese Abfrage einmal verwenden. UNDEFINE
konnte nicht in den Codeblock eingefügt werden und löschte meine Variablen sowieso nicht. Jetzt ist mein Problem, dass es jede &
Variable als unterschiedlich betrachtet, so dass der Benutzer 5 Variablen statt 2 eingibt.
Wie mache ich es, wo ich noch temporäre Variablen benutze (mit oder ohne das Popup zu Geben Sie die Variable ein, aber die Person, die die Abfrage ausführt, muss nur zwei Werte eingeben: 1833
und 67
?
Weiß nicht, wie man eine Frage stellt, ohne eine Frage zu stellen, also werde ich eine Frage stellen = P. Aber ohne ein Fragezeichen! Mit welchem Tool kannst du das machen? = P –