2012-04-10 9 views
2

Bitte helfen.So wählen Sie die Zeilentabelle Daten in pl/sql

Ich habe das versucht, ich weiß nicht weiter. Ich muss dafür eine Select-in-Anweisung geben.

TYPE ADDR_DATA IS TABLE OF ADDRESS%ROWTYPE 
INDEX BY BINARY_INTEGER; 

Auswahl ist, (nur ein Datensatz wird kommen), und wie kann ich es weiter verwenden?

SELECT 
    * INTO ADDR_DATA 
FROM 
    ADDRESS 
WHERE   
    ADDR_DATA.PERSON_ID = 83; 
+0

Ich bin nicht sicher, was Sie versuchen, erreichen. Kannst du mehr Details geben? – eabraham

Antwort

5

Es sieht aus, als ob Sie die Daten, sind versucht zu bulk collect was bedeutet, was Sie tun müssen;

DECLARE 
    v_address_data ADDR_DATA; 
BEGIN 
SELECT 
    * BULK COLLECT INTO v_address_data 
FROM 
    ADDRESS 
WHERE   
    ADDR_DATA.PERSON_ID = 83; 
END; 

Auf der anderen Seite Sie suchen (glaube ich) nur eine Zeile - id = 83
das heißt, Sie wollen so etwas wie:

DECLARE 
    v_addrss ADDRESS%ROWTYPE; 
BEGIN 
    SELECT 
     * INTO v_addrss 
    FROM 
     ADDRESS 
    WHERE   
     ADDR_DATA.PERSON_ID = 83; 
END;