这本是以前写的,文章也不打算要了。但是发现有Google搜索的关键词:“Oracle 动态 LOV” 连接过来了,带错了路:) 于心不忍。重新粘贴一下。

在Form中动态创建LOV和Record Group的例子:

    -- Created on 2007-8-26 by ZEENO
    DECLARE
        l_group_id      recordgroup;
        l_group_errcode NUMBER;
    BEGIN
        -- 检查是否已经存在该 RECORD_GROUP
        l_group_id := find_group(proj_rg_name);

        -- 如果不存在
        IF id_null(l_group_id) THEN
            -- 创建RECORD_GROUP
            l_group_id := create_group_from_query('MY_REC_NAME',
                                                  'SELECT NULL FROM DUAL');
            -- 错误代码
            l_group_errcode := populate_group(l_group_id);
        END IF;

        -- 设置 LOV 的RECORD_GROUP
        set_lov_property('MY_LOV_NAME', group_name, 'MY_REC_NAME');
        -- 设置 Item 的 LOV
        set_item_property('MY_BLOCK.MY_ITEM', lov_name, 'MY_LOV_NAME');
    END;