Speichern der Abfrage Ergebnis in variable

Ich erklärt habe 6 Variablen in einer gespeicherten Prozedur, und ich möchte speichern einer Abfrage-Ergebnis (die bringen kann bis zu 6 Datensätzen) in jeweils einer dieser Variablen. Meine Abfrage sieht wie folgt aus:

  DECLARE
    @Sib1 varchar(20),
    @Sib2 varchar(20),
    @Sib3 varchar(20),
    @Sib4 varchar(20),
    @Sib5 varchar(20),
    @Sib6 varchar(20)

select
    PC.SKU
from
    Product PC
    where
        Parent_code in (select
                                  Parent_code
                              from
                                  Product 
                              where
                                  SKU =12345)
        and ParentFlag <> 'p'
        and SKU <> 12345
order by Parent_Child_Priority desc

Möchte ich jedem der resultierenden SKU in jedem @SIB-Variablen. wenn es gibt nur 1 Ergebnis, das möchte ich null-Werte in den rest des @SIB-Variablen.

Dank.

  • Warum nicht mit einer temp-Tabelle statt? Mit Hilfe von Variablen wie, das wird sehr schwierig sein, zu füllen.
  • Denken Sie in Begriffe von Datensätzen in relationalen Datenbank-design, nicht Zeilen/Datensätze.
  • Mein Ziel ist es, diese resultierende SKU ist in einer anderen Abfrage in der where-Klausel. Das ist, warum ich bin versucht zu speichern diese in einer variable, und verwenden Sie Sie später. Irgendwelche anderen Vorschläge?
  • klingt vielleicht möchten Sie eine Tabelle Wert Funktion
InformationsquelleAutor Eclipse | 2016-05-31
Schreibe einen Kommentar