oracle和informix的基礎區別
1:檢視表空間
select
b.file_name 物理檔名,
b.tablespace_name 表空間,
b.bytes/1024/1024 大小m,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用m,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name
2:oracle
select into的時候會報錯
這個時候可以使用count(*)或者是max等來避免出錯
3:oracle執行儲存過程是直接呼叫儲存過程名稱就行
而informix則需要call 或者是execute procedure
informix呼叫call 如果有錯誤只是會提示籠統錯誤。而execute則是提示具體錯誤
4:informix更新語句是update tablename set(欄位1,欄位2)=(value1,value2);
而oracle 的更新則是set 欄位一=value1,欄位二=value2
5:informix的賦值語句是let __timeconfig=0;
而oracle的賦值語句是:__timeconfig :=0;
6:對於判斷是否存在,informix 可以用 exists直接在儲存過程中呼叫,而不僅僅是select 語句中
if exists(select 1 from gspmajor where majorid=m_majorid) then
let __isgspsheet=1;
end if
oracle 則不行
oracle 一般使用count 判斷
7:informix 可以在儲存過程中直接建立臨時表
create temp table t_sumfeeinfo1
(summemdiscrate dec(12,2),--vip卡折扣率
sumallocaterate dec(12,2),--折扣費用分攤
sumvipddisc dec(12,2),--會員日折扣率
sumvipallocateratedec(12,2),--會員日折扣分攤比
summaterialfee dec(12,2),--能源物料使用費
sumshopextfee dec(12,2),--店鋪擴充套件費
sumtotalyearfee dec(12,2),--年度費用彙總
sumguarantyamt dec(12,2)--保證金
) with no log;
或者是直接select a.a1,a.a2 into temp tmp_mallccsheetashopgoods with no log;
而oracle如果在儲存過程中,則需要呼叫
execute immediate
'create global temporary table tmp_orderdif(
goodsid int not null, --商品編碼
diffqty dec(12,3) default 0 not null--驗收差異量
);drop table tmp_orderdif';
Informix版本對比
功能 特性和優點 ids de id press ids wge ids ee 許可平台支援 windows linux 32位和64位 aix solaris hp ux windows和linux伺服器 只支援32位 支援amd intelx86處理器 windows linux 基於amd i...
informix 學習筆記
informix檢視表結構 dbschema d dfs prod t zsc home collins zsc.sql oninit 將系統從off line模式變為on line模式 oninit s 將系統從off line模式變為quiescent模式 oninit i 初始化系統 onin...
informix資料對比
需求如下 企業傳送過來個人費用明細檔案,每行資料按 分割 個人銀行賬號 客戶姓名 單位月繳額 賬戶狀態 銀行informix資料庫表 booklist儲存銀行個人費用明細,booklist表主要欄位是 cust no,cust name,mon pay,state 對應於上面檔案內容。現需要進行核對...