我是一个初学者,如何向oracle数据库表中插入数据

我是一个初学者,如何向oracle数据库表中插入数据,第1张

工具/材料:电脑,oracle数据库表

1.例test表中有如下数据。

2.插入一条id为6,name为杨七的数据。insert into testvalues (6,'杨七')commit。

3.向表中复制一条目前表中id为1的数据,可用如下语句:insert into test select * from test where id=1commit在执行insert语句后,必须提交,即commit,否则不成功。

declare

--定义IntArray 类型,该类型是每个元素为int类型的数组

Type IntArray is table of int

--定义一个IntArray 类型的变量

v_array IntArray := IntArray()

begin

--向数组中存入数据

for i in 1.. 100 loop

--需要扩展数组

v_array.extend

v_array(i) := i

end loop

--输出数组的内容

for i in 1.. 100 loop

dbms_output.put_line(v_array(i))

end loop

end

SQL>set serverout on

SQL>declare

2 --定义IntArray 类型,该类型是每个元素为int类型的数组

3 Type IntArray is table of int

4 --定义一个IntArray 类型的变量

5 v_array IntArray := IntArray()

6 begin

7--向数组中存入数据

8for i in 1.. 100 loop

9--需要扩展数组

10v_array.extend

11v_array(i) := i

12end loop

13

14--输出数组的内容

15for i in 1.. 100 loop

16dbms_output.put_line(v_array(i))

17end loop

18 end

19 /

1

2

3

4

5

6

7

8

9

10

此处省略90行

PL/SQL procedure successfully completed

SQL>

Oracle不支持也没有SqlBulkCopy类,那个只有SqlServer数据库才支持,Oracle可以用数组形式的参数批量提交来实现,但那个绝对不能叫“BulkCopy”。

OracleCommand command = new OracleCommand("链接字符串")

command.ArrayBindCount = 1000

command.CommandText = "insert into dept values(:deptno, :deptname, :loc)"

int[] deptNo = new int[1000]

string[] dname = new string[1000]

string[] loc = new string[1000]

command.Parameters.Add(new OracleParameter("deptno", OracleDbType.Int32) { Value = deptNo })

command.Parameters.Add(new OracleParameter("dname", OracleDbType.Varchar2) { Value = dname })

command.Parameters.Add(new OracleParameter("loc", OracleDbType.Varchar2) { Value = loc })

command.ExecuteNonQuery()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11602048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存