【问题标题】:How to select the row table data in pl/sqlpl/sql中如何选择行表数据
【发布时间】:2012-04-10 14:08:29
【问题描述】:

请帮忙。

我试过了,我不知道如何继续。我需要为此提供一个 select into 语句。

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

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

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

【问题讨论】:

  • 我不确定您要完成什么。能详细点吗?

标签: oracle plsql declare rowtype


【解决方案1】:

看起来您正在尝试bulk collect 数据,这意味着您需要这样做;

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

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

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

【讨论】:

    猜你喜欢
    • 2014-08-20
    • 1970-01-01
    • 2011-07-08
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 2010-12-18
    • 2011-08-02
    相关资源
    最近更新 更多