如何在pl/sql中选择行表数据

Vaa*_*ndu 3 oracle plsql declare rowtype

请帮忙.

我试过这个,我不知道该怎么办.我需要为此选择一个声明.

TYPE ADDR_DATA IS TABLE OF ADDRESS%ROWTYPE
INDEX BY BINARY_INTEGER;
Run Code Online (Sandbox Code Playgroud)

选择是,(只会有一条记录),我该如何进一步使用它?

SELECT 
    * INTO ADDR_DATA
FROM 
    ADDRESS 
WHERE           
    ADDR_DATA.PERSON_ID = 83;
Run Code Online (Sandbox Code Playgroud)

A.B*_*ade 6

看起来您正在尝试批量收集数据,这意味着您需要这样做;

DECLARE
    v_address_data ADDR_DATA;
BEGIN
SELECT 
    * BULK COLLECT INTO v_address_data
FROM 
    ADDRESS 
WHERE           
    ADDR_DATA.PERSON_ID = 83;
END;
Run Code Online (Sandbox Code Playgroud)

另一方面,你正在寻找(我认为)只有一行 - id = 83
这意味着你需要这样的东西:

DECLARE
    v_addrss ADDRESS%ROWTYPE;
BEGIN
    SELECT 
        * INTO v_addrss 
    FROM 
        ADDRESS 
    WHERE           
        ADDR_DATA.PERSON_ID = 83;
END;
Run Code Online (Sandbox Code Playgroud)