=============Oracle與SqlServer的區(qū)別:===================
一、DML
1,、多表插入:(Oracle)
Insert [all | first] insert_into_clause [value_clause] subQuery;
范例:
Insert all 【first】
when deptno=10 then into dept10
when deptno=20 then into dept20
when job=‘clerk’ then into clerk
else into other
select * from emp;
dept10,、dept20、clerk,、other:表名
2.insert into tab_name (..) values(..); //sqlserver中into關(guān)鍵字可以無,,但oracle必須有
3.集合操作:(SQL Server中只是支持Union和Union all)
Union 結(jié)果并集,,去掉重復(fù)行
Union all 結(jié)果并集,保留重復(fù)行
Intersect 結(jié)果的交集
Minus 結(jié)果的差集
4.select 1+2
SQL Server合法的,Oracle中不合法的
在Oracle中Select后一定會有一個from與之對應(yīng)
5.轉(zhuǎn)換函數(shù):不同數(shù)據(jù)類型的數(shù)據(jù)之間的轉(zhuǎn)換
SQL Server :convert cast
Oracle:
to_char :number轉(zhuǎn)換到char,,date轉(zhuǎn)換到char
to_date :char轉(zhuǎn)換到date
to_number :char轉(zhuǎn)換到number
6.行列轉(zhuǎn)換——在實際開發(fā)中,,打印報表時非常普遍的使用
如何實現(xiàn)行列轉(zhuǎn)換?(SQL Server CASE)
select name 姓名,
sum(decode(subject,'物理',score)) 物理,
sum(decode(subject,'化學(xué)',score)) 化學(xué),
sum(decode(subject,'英語',score)) 英語
from a group by name
7.Oracle方案——SQL Server 數(shù)據(jù)庫
比如:在SQL Server中,,針對一個項目,,我們一般創(chuàng)建一個數(shù)據(jù)庫
在Oracle中這個項目,創(chuàng)建一個方案:scott,。
8.表空間
SQL Server中數(shù)據(jù)存儲在一個邏輯對象中——文件組
Oracle中,,組織不同的物理文件的邏輯對象不叫文件組,叫表空間
9.序列:自增長列的生成
10.觸發(fā)器:級聯(lián)更新,,刪除