pl/sql中是否有proc*c中数组插入和删除的功能?如何写?
如a(1) := 1, a(2) := 2, a(3) := 3;
Insert Into tab(id) Values(a);
Delete From tab Where id = a;
如何实现上面的功能?
如a(1) := 1, a(2) := 2, a(3) := 3;
Insert Into tab(id) Values(a);
Delete From tab Where id = a;
如何实现上面的功能?
解决方案 »
- sql查询中,我如果想把一个二进制的字段转义成中文意思,该执行什么语句呢?
- 这段SQL有什么问题?
- oracle 10g sysaux
- oracle插入数据太慢,重启系统,好了
- 怎么解决 ORA-00600 错误
- PL/SQL!50分相送!!急!!!
- ****如何把表记录中的列转化成行(或者是行化成列)******
- 使用tomcat连接池,JSP无法连oracle8.1.7数据库? 请大家帮忙
- ------救命啊!相同的oracle 8.17文件,但在两台PC上安装是却出现不同的现象-----
- snowy_howe请进来接分
- 谁能帮我优化一下这个sql 语句,谢谢大家了.!!!!
- 关于oracle数据库查询与JDBC的问题
比如
TYPE A_TYPE IS RECORD
(
id char --还有类型比如这里是char
);
a_type A_TYPE;
TYPE A_TYPE_ARRAY IS TABLE OF A_TYPE INDEX BY BINARY_INTEGER;
a_type_array A_TYPE_ARRAY; -----这里是定义数组然后赋值的时候这样: a_type.id := 1;
a_type_array(1) := a.type; --这样就存放在数组里面了最后insert的时候Insert Into tab(id) Values(a_type_array(1).id); 循环的话,适当的变下就可以了
declare
type abc is table of number index by binary_integer;
x abc:=abc(4,5,6);
begin
forall i in 1 .. 3
insert into t1 values(x(i),x(i));
forall i in 1 .. 3
delete from t1 where id=x(i);
end;
type type_array_number is table of varchar2(20) index by binary_integer;
v_array_number type_array_number;
v_bulk_limit number := 2000;
open cursor_xxx;
loop
fetch cursor_xxx bulk collect into v_array_number limit v_bulk_limit;
exit when v_array_number.count = 0;
forall row in 1 .. v_array_number.count()
Delete From tab Where number = v_array_number(row);
exit when cursor_xxx%notfound;
commit;
end loop;
close cursor_xxx;
//插入,更新操作和上面的类似!