如何以Collection变量作为数据源来向数据表中插入数据,或者更新数据。

前面我已经告诉大家如何在Oracle中向Collection类型的变量中逐条插入数据如何在Oracle中修改Collection类型的变量。现在要变被动为主动,如何以Collection为数据源来处理真实数据表中的数据。

插入:

-- Bulk insert into table from an array.
insert   into  department_teststruct
  
select   *   from   table ( cast (d2  as  dept_array));

更新:

UPDATE  Table1 O
   
SET  Col2  =  NVL(( select  Col2
                    
from   table (p_inventory_array_in) T
                   
WHERE  O.Col1  =  T.Col1),
                  Col2);

不能使用下面的方法来更新

UPDATE  Table1  --  Error: PL/SQL: SQL Statement ignored
    SET  Col2  =  T. Col2  FROM  Table1 O, ( SELECT   *   FROM   TABLE (p_array_in)) T  -- Error: PL/SQL: ORA-00933: SQL command not properly ended 
  WHERE  O. Col1  =  T. Col1;

我们可以使用两个数租来进行更新,

 forall i  in   1 ..array1. Count  
  
update  table1
    
set  col2  =  array2(i)
  
where  col1  =  array1(i);

这个方法是使用Collection进行更新的方法中最快的一种。因为这种方法会减少PL/SQL引擎和SQL引擎之间的交互内容。不能使用下面的代码: array(i).col1_value,只能使用:array(i) 。

 

原因是:Bind variables cannot be passed with offset addresses from another bind variable's base address.

当然这样处理的不足就是需要更新所有的数据,我们也可以循环Collection的数据来进行处理。以后我会测试一下性能问题,反馈给大家。
 
Reference:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的Power Apps示例来实现分页功能。首先,我们需要创建一个包含所有数据数据源,然后使用集合函数来将其保存到一个名为“collection”的集合。 1. 创建数据源 在 Power Apps ,可以使用 Excel、SharePoint 列表、SQL Server 等多种数据源。在这个示例,我们将使用 Excel 数据源。 - 打开 Power Apps,在左侧导航栏选择“新建”。 - 在“开始设计时使用的数据源”对话框,选择“Excel”。 - 输入 Excel 文件的 URL 或文件名,并选择“使用表格或电子表格”选项。 - 选择 Excel 文件的表格并单击“连接”。 - 接下来,Power Apps 将生成一个包含所有字段的默认屏幕。 2. 记录分页信息 我们需要定义一个变量来记录当前页码。在本例,我们将使用名为“currentPage”的整数变量。 - 在屏幕上选择一个空白区域,并在右侧的“属性”窗格单击“变量”选项卡。 - 单击“新建变量”,并将其命名为“currentPage”。 - 将变量类型设置为“整数”。 3. 创建分页按钮 我们需要创建两个按钮来实现分页功能:一个用于上一页,另一个用于下一页。 - 在屏幕上选择一个空白区域,并插入一个按钮控件。 - 将按钮的 Text 属性设置为“上一页”。 - 在“OnSelect”属性,添加以下公式: If(currentPage > 1, Set(currentPage, currentPage - 1)) - 重复以上步骤,创建一个新的按钮并将 Text 属性设置为“下一页”。 - 在“OnSelect”属性,添加以下公式: If(currentPage < RoundUp(CountRows(collection) / 5, 0), Set(currentPage, currentPage + 1)) 4. 显示分页数据 我们需要使用“Gallery”控件来显示分页数据。此控件可帮助我们轻松地将数据显示为网格或列表。 - 在屏幕上选择一个空白区域,并插入一个“Gallery”控件。 - 在右侧的“属性”窗格,将“Items”属性设置为: FirstN(Skip(collection, 5 * (currentPage - 1)), 5) - 这个公式将从集合跳过前 5*(currentPage-1) 行,然后选择下一个 5 行。 - 在“Layout”选项卡,选择一个适合你的布局。例如,可以选择“标题和子标题”布局,以在每个数据显示标题和子标题。 - 最后,您可以添加其他控件,例如“Label”控件或“Text Input”控件,以帮助用户输入或搜索数据。 以上就是一个简单的 Power Apps 分页示例,希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值