1

我有一个表,其中的一列每行包含多个、一个或没有值。

使用 Apex,我认为可以自动定义这些值的唯一字段(需要动态填充,因为可以更改)是穿梭。

有没有办法将列值更改为穿梭列表?将右侧的值作为逗号分隔值(或其他任何值)输入到数据库的列中?

例如我的表:用户 varchar - 只是他们的名字 Role(s) varchar - 与该用户相关的无/一个/多个角色分隔

谢谢,瑞克

4

1 回答 1

3

如果您希望将值存储在这样的单个列中:

角色 1:角色 2:角色 3

然后穿梭机可以满足您的一切需求。保存页面时,您在穿梭右侧选择的任何值都使用冒号作为项目值连接在一起。同样,当从数据库中加载像“ROLE6:ROLE7”这样的值时,这两个角色将出现在穿梭机的右侧。

如果您想将它们分开存储在单独的数据库行中,您可以使用以下函数apex_util.string_to_table

declare
    l_tab apex_application_global.vc_arr2;
begin
    l_tab := apex_util.string_to_table(:p1_role_shuttle);
    for i in 1..l_tab.count loop
        -- l_tab(i) contains the i'th role selected.
    end loop;
end;

也有apex_util.table_to_string做相反的事情。

于 2013-04-22T16:03:02.110 回答