日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle插入数据语句实例,oracle Insert 用法总结

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle插入数据语句实例,oracle Insert 用法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總結下Oracle 中的Insert用法

1.標準Insert --單表單行插入

語法:

INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...)

例子:

insert into dep (dep_id,dep_name) values(1,'技術部');

備注:使用標準語法只能插入一條數據,且只能在一張表中插入數據

2, 無條件 Insert all --多表多行插入

語法:

INSERT [ALL] [condition_insert_clause]

[insert_into_clause values_clause] (subquery)

示例:

INSERT ALL

INTO sal_history(emp_id,hire_date,salary) values (empid,hiredate,sal)

INTO mgr_history(emp_id,manager_id,salary) values (empid,hiredate,sal)

SELECT employee_id empid,hire_date hiredate,salary sal,manager_id mgr

FROM employees

WHERE employee_id>200;

3,有條件的Insert

語法:

INSERT [ALL | FIRST]

WHEN condition THEN insert_into_clause values_clause

[WHEN condition THEN] [insert_into_clause values_clause]

......

[ELSE] [insert_into_clause values_clause]

Subquery;

示例:

Insert All

when id>5 then into z_test1(id, name) values(id,name)

when id<>2 then into z_test2(id) values(id)

else into z_test3 values(name)

select id,name from z_test;

當使用ALL關鍵字時,oracle會從上至下判斷每一個條件,當條件滿足時就執行后面的into語句

在上面的例子中,如果ID=6 那么將會在z_test1中插入一條記錄,同時也在z_test2中插入一條記錄

備注:

當使用FIRST關鍵字時,oracle會從上至下判斷每一個條件,當遇到第一個滿足時就執行后面的into語句,

同時中斷判斷的條件判斷,在上面的例子中,如果ID=6,僅僅會在z_test1中插入一條數據

4, 旋轉Insert (pivoting insert)

create table sales_source_data (

employee_id number(6),

week_id number(2),

sales_mon number(8,2),

sales_tue number(8,2),

sales_wed number(8,2),

sales_thur number(8,2),

sales_fri number(8,2)

);

insert into sales_source_data values (176,6,2000,3000,4000,5000,6000);

create table sales_info (

employee_id number(6),

week number(2),

sales number(8,2)

);

看上面的表結構,現在將要sales_source_data表中的數據轉換到sales_info表中,這種情況就需要使用旋轉Insert

示例如下:

insert all

into sales_info values(employee_id,week_id,sales_mon)

into sales_info values(employee_id,week_id,sales_tue)

into sales_info values(employee_id,week_id,sales_wed)

into sales_info values(employee_id,week_id,sales_thur)

into sales_info values(employee_id,week_id,sales_fri)

select employee_id,week_id,sales_mon,sales_tue,

sales_wed,sales_thur,sales_fri

from sales_source_data;

從該例子可以看出,所謂旋轉Insert是無條件 insert all 的一種特殊應用,但這種應用被oracle官方,賦予了一個pivoting insert的名稱,即旋轉insert

總結

以上是生活随笔為你收集整理的oracle插入数据语句实例,oracle Insert 用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。