Antworten:
Ihre Syntax ist nicht ganz richtig: Sie müssen die Felder in der Reihenfolge vor dem INTO und die entsprechenden Zielvariablen nach dem INTO auflisten:
SELECT Id, dateCreated
INTO iId, dCreate
FROM products
WHERE pName = iName
========== Beratung ==========
@martin Clayton Antwort ist richtig, aber dies ist nur ein Rat.
Bitte vermeiden Sie die Verwendung mehrdeutiger Variablen in der gespeicherten Prozedur.
Beispiel:
SELECT Id, dateCreated
INTO id, datecreated
FROM products
WHERE pName = iName
Das obige Beispiel verursacht einen Fehler (Nullwertfehler)
Das unten angegebene Beispiel ist korrekt. Ich hoffe das macht Sinn.
Beispiel:
SELECT Id, dateCreated
INTO val_id, val_datecreated
FROM products
WHERE pName = iName
Sie können sie auch eindeutig machen, indem Sie auf die Tabelle verweisen, z.
[ Bildnachweis : maganap ]
SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p
WHERE pName = iName
SELECT p.Id, p.dateCreated INTO id, datecreated FROM products p WHERE pName = iName