3

助けてください。

これを試しましたが、続行する方法がわかりません。これには select into ステートメントを指定する必要があります。

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

選択は、(レコードは 1 つしか来ない) で、それをさらに使用するにはどうすればよいですか?

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

1 に答える 1

6

データを一括収集しようとしているかのように見えます。つまり、そうする必要があります。

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

一方、あなたが探しているのは(私が思うに)1行だけです-id = 83
は、次のようなものが必要であることを意味します:

DECLARE
    v_addrss ADDRESS%ROWTYPE;
BEGIN
    SELECT 
        * INTO v_addrss 
    FROM 
        ADDRESS 
    WHERE           
        ADDR_DATA.PERSON_ID = 83;
END;
于 2012-04-10T14:17:06.427 に答える