Oracle - Erstellen Sie eine temporäre Ergebnismenge zur Verwendung in einer Abfrage

Wie erstelle ich eine temporäre Ergebnismenge für die Verwendung in SQL, ohne eine Tabelle zu erstellen und die Daten einzufügen?

Beispiel: Ich habe eine Liste von beispielsweise 10 Codes. Ich möchte dies in eine Abfrage einfügen und dann die Datenbank abfragen, um festzustellen, welche Codes in dieser temporären Liste in einer Tabelle nicht vorhanden sind.

Wenn es schon in einer Tabelle wäre, könnte ich so etwas tun:

SELECT
  ITEM_CODE
FROM
  TEMP_ITEMS
MINUS
SELECT
   ITEM_CODE
FROM
   M_ITEMS

Ist es eine Möglichkeit, vor dem Abfragen kein PL / SQL und reines SQL zum Erstellen eines temporären Rowsets zu verwenden? Bitte antworten Sie nicht mit:

SELECT 1 FROM DUAL
UNION ALL
SELECT 2 FROM DUAL

Ich denke an etwas, bei dem ich meine Codes in einer IN-Anweisung bereitstellen kann, und das verwandelt sich in Zeilen zur Verwendung in einer späteren Abfrage.

Bearbeiten: damit jeder mein Ziel hier kennt, bekomme ich manchmal eine Liste von Produktcodes, die ich brauche, um herauszufinden, welche in der Liste nicht in unserem System eingerichtet sind. Ich möchte eine schnelle Möglichkeit, dies in eine SQL-Anweisung zu werfen, damit ich sehen kann, welche nicht im System vorhanden sind (anstatt Daten usw. zu importieren). Normalerweise füge ich diese in Excel ein und schreibe dann eine Formel wie:

="'"&A1&"',"

Damit ich meine kommagetrennte Liste erstellen kann.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage