关于动态插入的一个问题

FineRik 2007-06-03 02:51:31
在使用BDMS_SQL包时对表进行动态批量插入时,用bind_array()来绑定一个自定义类型的Table,Table的定义如下:
Type AAA is table of [自定义数据类型];

a1 AAA;


当a1作为bind_array的参数时,提示数据类型不符合,后来我查阅了资料,发现bind_array()这个Procedure不能处理自定义数据类型,我想请教一下,有没有方法可以代替,我需要做自定义数据类型的批量插入。
...全文
171 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
FineRik 2007-06-03
  • 打赏
  • 举报
回复
其中表Test中的name字段是一个var_arry_254_32(自定义数据类型)的字段
FineRik 2007-06-03
  • 打赏
  • 举报
回复
FUNCTION fn_generate_n(tdfk_no VARCHAR2) RETURN INTEGER IS
RESULT INTEGER;
v_insert_sql VARCHAR2(1000);
v_handle_cursor NUMBER;
v_fetch_number Number;
TYPE table_index_list IS TABLE OF var_arry_254_32; --var_arry_254_32是用户自定义的类型
aa table_index_list;
begin
/*
对AA进行填值操作
*/

v_insert_sql := v_insert_sql := ' insert into test(name) values(:bnd1)';
v_handle_cursor := dbms_sql.open_cursor;
dbms_sql.parse(v_handle_cursor, v_insert_sql,dbms_sql.native);

dbms_sql.bind_arry(v_handle_cursor, 'bnd1', aa);
v_fetch_number := dbms_sql.EXECUTE(v_handle_cursor);
-- finish
dbms_sql.close_cursor(v_handle_cursor);
commit;
RESULT := 1;
return(RESULT);
end fn_generate_n;
CathySun118 2007-06-03
  • 打赏
  • 举报
回复
可以处理的,你的代码?

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧