为了账号安全,请及时绑定邮箱和手机立即绑定

在C#中使用Dapper将数据发送到RECORD类型的PL / SQL脚本变量中如何更好

在C#中使用Dapper将数据发送到RECORD类型的PL / SQL脚本变量中如何更好

C#
泛舟湖上清波郎朗 2021-03-29 16:17:32
我有一个使用3个RECORD类型变量作为参数的PL / SQL过程,我必须填充我的数据(来自c#应用程序)才能执行过程。首先,我尝试通过c#使用此记录构建相同的结构,并通过Dapper作为参数传递,但是它不起作用,因为dapper仅适用于标量数据类型。然后,我尝试将数据作为数组传递并在过程中映射它们,但是RECORD类型不能接受数据集,因为a.NAME := ('aaaaaa','sdasd');它只能以这种方式工作:a.NAME(1) := 'aaaaaa';a.NAME(2) := 'sdasd';我现在唯一想到的就是在过程文本中生成这样的字符串,但是我觉得应该有更好的方法。怎么了?PS我毕竟无法更改需要运行的脚本,因此我无法更改其接受的数据类型。更新:为了简化起见,我决定举一个例子:我们有2种自定义类型TYPE A_REC IS RECORD (NAME dbms_sql.Varchar2_Table);TYPE B_REC IS RECORD (NAME dbms_sql.Varchar2_Table                         , ID dbms_sql.Number_Table);和一个程序,可能会使用类似declarea c_pck.a_rec;b c_pck.b_rec;begina.NAME(1) := 'aaaaa';b.NAME(1) := 'sssss';b.NAME(2) := 'ddddd';b.ID(1) := 111;b.ID(2) := 222;c_pck.pr(a => a, b => b);end;如何通过Dapper运行此过程?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信