国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 與Oracle的不同點(從微觀上)

2024-08-31 00:51:16
字體:
來源:轉載
供稿:網友

     當數據庫是SQL Server的時候EnterPRise Library訪問起來非常方面,完全可以用Enterprise Library Configuration工具配置后就可以在代碼中訪問DB,但是當數據換成Oracle的時候就沒有那么方便了,畢竟是兩個公司的東西多少有些不同之處,下面就我知道的Oracle(以9i為例)與SQL Server的不同點總結一下:
1、數據類型的不同;
      SQL Server2000 Transact-SQL 的基本數據類型有:

bigintbinarybitcharcursor
datetimedecimalfloatimageint
moneyncharntextnvarcharreal
smalldatetimesmallintsmallmoneytexttimestamp
tinyintvarbinaryvarcharuniqueidentifier 

  SQL Server大家都比較熟悉,各個類型的含義就在此不一一列出。

      Oracle 9i基本數據類型有:

名稱含義
Char用于描述定長的字符型數據,長度<=2000字節
varchar2用于描述變長的字符型數據,長度<=4000字節
nchar用來存儲Unicode字符集的定長字符型數據,長度<=1000字節
nvarchar2用來存儲Unicode字符集的變長字符型數據,長度<=1000字節
number用來存儲整型或者浮點型數值
Date用來存儲日期數據
Long用來存儲最大長度為2GB的變長字符數據
Raw用來存儲非結構化數據的變長字符數據,長度<=2000字節
Long raw用來存儲非結構化數據的變長字符數據,長度<=2GB
rowid用來存儲表中列的物理地址的二進制數據,占用固定的10個字節
Blob用來存儲多達4GB的非結構化的二進制數據
Clob用來存儲多達4GB的字符數據
nclob用來存儲多達4GB的Unicode字符數據
Bfile用來把非結構化的二進制數據存儲在數據庫以外的操作系統文件中
urowid用來存儲表示任何類型列地址的二進制數據
float用來存儲浮點數

2、自增行字段的區別
      在SQL Server 中為自增列(IDENTITY );
      在Oracle中為Oracle 序列是原子對象,并且是一致的。也就是說,一旦您訪問一個序列  號,Oracle 將在處理下一個請求之前自動遞增下一個編號,從而確保不會出現重復值。
3、Stored Procedure的區別
      在大多數Oracle中的書籍中都稱為“過程”,在SQL Server中叫存儲過程。Oracle 過程與 Microsoft SQL Server 存儲過程之間的主要區別是:Oracle 過程必須將值作為輸出參數返回,并且必須使用輸出參數將結果集作為 REF CURSOR 對象返回給調用程序。
4、PL/SQL 和 T-SQL 中的存儲過程之間的一個重大差異是 PL/SQL 所使用的 Oracle 包 結構。在 T-SQL 中沒有等效元素。包是在邏輯上相關的編程塊(如存儲過程和函數)的容器。它包含兩個部分:

●規范:定義包的名稱,并為包中的每個存儲過程或函數提供方法簽名(原型)。規范頭還定義所有全局聲明。規范的樣式類似于 C 或 C++ 頭文件。
 
● 正文:包含包頭中定義的存儲過程和函數的代碼。
 

每個存儲過程或函數的參數都出現在括號內,并且用逗號分隔。每個參數還根據需要用以下三個標識符中的一個進行標記:

● IN:該值從調用應用程序傳遞到 PL/SQL 塊。如果未指定標識符,則 IN 為默認傳遞方向。
 
● OUT:該值由存儲過程生成,并傳遞回調用應用程序。
 
● INOUT:該值被傳遞到 PL/SQL 塊,可能在該塊內部進行修改,然后返回到調用應用程序。
 

每個參數也都被標記以指示數據類型。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宁市| 江口县| 大兴区| 黑龙江省| 岚皋县| 东乌珠穆沁旗| 邳州市| 安龙县| 滦南县| 集贤县| 阿瓦提县| 靖西县| 麻栗坡县| 五寨县| 建始县| 垫江县| 孟州市| 石狮市| 康平县| 封丘县| 清流县| 银川市| 南靖县| 南安市| 临朐县| 陆良县| 那曲县| 桂林市| 莱州市| 紫云| 屏边| 华宁县| 江西省| 喀什市| 耿马| 德化县| 安平县| 都昌县| 霍林郭勒市| 嘉义县| 铜山县|