当前位置:文档之家 > SQL Server与oracle区别总结

SQL Server与oracle区别总结

●开发语法

A.SQL 语法

两者的SQL语法基本上是相同的,只是一些细节方面的问题

一: 表的管理:修改表的结构,如增加,删除列,創建表

修改表

1.修改表的列的數據類型,大小的定義不同,如下面修改數據類型。

Ms sql是ALTER TABLE table_name ALTER COLUMN col DECIMAL (5, 2)

Oracle是 Alter TABLE table_name modify(col decimal(5,2))

2.增加和刪除表的列,兩者是相同的

Alter tabe table_name add(col definition)

Alter tabe table_name drop column col_name

3 .Oracle如果不要用某列,然後又不想刪除,就可以将某个列标记为未用

Alter tabe table_name set unused(tel_no)

.创建临时表

Oracle 的語法是:

Create global temporary table aa(col number) on commit preserve rows;

临时表只在用户会话时存在的表,或其数据在用户事务处理期间可

持续存在的表,创建临时表时可以指定该表是否应当在用户会话

期间持续存在(使用on commit preserve rows)

On commit delete rows 表示事务处理完成后删除它的行

Ms sql的語法是:

Select * into #temptable from existedtable

二 查询方面:

1.查表的前N行记录

oracle 是用rownum 如select * from table_name where rownum


Ms sql 是用top 如select top n * from table_name



2.查詢表的結構

Orace 可以通過desc来查看表的结构 语法是:desc table_name

或者使用数据字典表user_tab_coumns也可以查看到

Select column_name,data_type from user_tab_coumns

Where table_name=''

Ms sql可以通過一些系統的存儲過程來看表的結構

語法是:exec sp_help table_name

3.将一个表的数据添加到另外一个表中

a.新表存在前提下:兩者語法是一樣的,如

insert into newtable(col1)select col1 from old_table

b.新表不存在前提下,可以用

oracle 可以用Create tabe new _table_name as select * from old_table

ms sql 可以用 Select * i
nto new_table from old_table

三 操作符

1.連接操作符

Oracle是 ‘||’; Ms sql是‘+’

2. Oracle的比较操作符中不等于除了'<>'之外,还有一个 '!='

3. 算术操作符,都是+-*/;逻辑操作符都是and,not,or(相同點)

4. oracle集合操作符除了union,union all之外还加入intersect,minus

Intersect是仅返回两个查询都有行,minus返回第一个查询有第

二个查询没有的行

四 函數

1.轉換函數

Oracle 中有to_char(),to_date(),to_number()

Ms sql 中有cast,convert


●开发语法

A.SQL 语法

两者的SQL语法基本上是相同的,只是一些细节方面的问题

一: 表的管理:修改表的结构,如增加,删除列,創建表

修改表

1.修改表的列的數據類型,大小的定義不同,如下面修改數據類型。

Ms sql是ALTER TABLE table_name ALTER COLUMN col DECIMAL (5, 2)

Oracle是 Alter TABLE table_name modify(col decimal(5,2))

2.增加和刪除表的列,兩者是相同的

Alter tabe table_name add(col definition)

Alter tabe table_name drop column col_name

3 .Oracle如果不要用某列,然後又不想刪除,就可以将某个列标记为未用

Alter tabe table_name set unused(tel_no)

.创建临时表

Oracle 的語法是:

Create global temporary table aa(col number) on commit preserve rows;

临时表只在用户会话时存在的表,或其数据在用户事务处理期间可

持续存在的表,创建临时表时可以指定该表是否应当在用户会话

期间持续存在(使用on commit preserve rows)

On commit delete rows 表示事务处理完成后删除它的行

Ms sql的語法是:

Select * into #temptable from existedtable

二 查询方面:

1.查表的前N行记录

oracle 是用rownum 如select * from table_name where rownum


Ms sql 是用top 如select top n * from table_name



2.查詢表的結構

Orace 可以通過desc来查看表的结构 语法是:desc table_name

或者使用数据字典表user_tab_coumns也可以查看到

Select column_name,data_type from user_tab_coumns

Where table_name=''

Ms sql可以通過一些系統的存儲過程來看表的結構

語法是:exec sp_help table_name

3.将一个表的数据添加到另外一个表中

a.新表存在前提下:兩者語法是一樣的,如

insert into newtable(col1)select col1 from old_table

b.新表不存在前提下,可以用

oracle 可以用Create tabe new _table_name as select * from old_table

ms sql 可以用 Select * into new_table from old_table

三 操作符

1.連接操作符

Oracle是 ‘||’; Ms sql是‘+’

2. Oracle的比较操作符中不等于除了'<>'之外,还有一个 '!='

3. 算术操作符,都是+-*/;逻辑操作符都是and,not,or(相同點)

4. oracle集合操作符除了union,union all之外还加入intersect,minus

Intersect是仅返回两个查询都有行,minus返回第一个查询有第

二个查询没有的行

四 函數

1.轉換函數

Oracle 中有to_char(),to_date(),to_number()

Ms sql 中有cast,convert


下载Word文档免费下载:

SQL Server与oracle区别总结下载

(共13页)