注册 登录
编程论坛 Oracle论坛

插入数据的问题

jalonlovesja 发布于 2008-04-01 09:44, 2577 次点击
在Oracle里面我要一次性插入多条数据到数据库了,请问那个SQL语句该怎么写了???
麻烦指点下啊!!
谢谢啊!!
7 回复
#2
elvis1232008-04-01 10:50
写过程,不过这些数据之间必须有一定的联系了,如果仅仅是一些离散的纪录,找工具导入,不过本人也是新手,没用过导入工具
#3
luyihuaa52012008-04-01 17:01
如果是离散的纪录用PL/sql呀  也可以在 直接在命令提示下导呀!~
#4
北极光2008-07-19 10:19
问题问得很是不清楚
#5
喜欢Oracle2010-05-14 02:44
在Oracle中INSERT语句用于在数据表中增加数据,例如插入一行记录或多条记录。

1.INSERT语句的基本语法是:

INSERT INTO 表名(列名1,列名2,…) values(数据1,数据2,…)

需要注意的是:
(1)使用这种语法,一次只能向表中插入一条记录。
(2) 如果在语法中省略列名表,则要求values子句中数据的个数、类型与表中的列保持一致。
(3)插入数据时,字符型、日期数据要用单引号括起来。

2.使用子查询的INSERT语句

使用子查询语句从其他表中提取数据插入到指定的表中更为方便,因为这种方法可以一次插入多个记录,其语法如下:

INSERT INTO 表名(<列名1>,<列名2>,…)
        SELECT  <列名1>,<列名2>,…  
        FROM  <表名>;

3 合并更新语句MERGE

MERGE语句用于将一个表的数据合并到另一个表中。该语句是把UPDATE和INSERT语句合并起来使用,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法与条件匹配的执行INSERT语句。该语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE。MERGE语句的语法如下:

MERGE INTO 目标表名[别名] USING {原表名|视图|子查询}[别名]
ON 连接条件
WHEN MATCHED THEN UPDATE SET 列名1=表达式,列名2=表达式,…
WHEN NOT MATCHED THEN INSERT 列名1,列名2,… VALUES (表达式1,表达式2,…;
                 
具体例程略,根据公式写出不难。
1