在DB2中如何實現(xiàn)Oracle的相關(guān)功能(四)
2024-08-29 13:45:09
供稿:網(wǎng)友
在DB2中如何實現(xiàn)Oracle的相關(guān)功能(四)
作者﹕CCBZZP
在現(xiàn)實的應(yīng)用中大家可能經(jīng)常會碰到在DB2中如何實現(xiàn)Oracle的某些功能﹐
在此我簡單地總結(jié)一下﹐實現(xiàn)某一功能可能會有很多種方法﹐在此就沒有全部列出﹐
歡迎大家繼續(xù)﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以O(shè)racle
8I,9I和DB2 7.X為例)。
1.如何實現(xiàn)分頁顯示的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>select rownum,* from BSEMPMS where rownum >=5 and rownum <=100;
DB2 可以這樣實現(xiàn)﹕
select * from (select ROW_NUMBER() over() as a, db2admin.bsempms.* from
db2admin.bsempms) as temp where a>=5 and a<=100 ;
2.利用別的表創(chuàng)建表的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>create table a as select * from b ;
DB2 可以這樣實現(xiàn)﹕
create table a like b ;
3.如何更改用戶密碼的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>alter user user123 identified by passWord_new;
DB2 可以這樣實現(xiàn)﹕
connect to dbname user db2admin using oldpassw new newpassw confirm newpassw ;
4.如何增加用戶的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>create user user123 identified by password_new;
DB2 可以這樣實現(xiàn)﹕
添加用戶:
“開始/設(shè)置/控制面板/用戶”添加一個用戶名(例:db2admin)
分配權(quán)限:
grant dbadm on database to user 用戶名
5.兩個結(jié)果集互減的函數(shù)的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;
DB2 可以這樣實現(xiàn)﹕
SELECT * FROM BSEMPMS_OLD EXCEPT SELECT * FROM BSEMPMS_NEW;
SELECT * FROM BSEMPMS_OLD EXCEPT ALL SELECT * FROM BSEMPMS_NEW;
6.兩個結(jié)果集互加的函數(shù)的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;
SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;
SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;
DB2 可以這樣實現(xiàn)﹕
SELECT * FROM DB2ADMIN.BSEMPMS
UNION
SELECT * FROM DB2ADMIN.BSEMPMS ;
SELECT * FROM DB2ADMIN.BSEMPMS
UNION ALL
SELECT * FROM DB2ADMIN.BSEMPMS ;
7.如何找數(shù)據(jù)庫表的主鍵字段的名稱的Oracle和DB2的寫法
Oracle 可以這樣實現(xiàn)﹕
SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME';
DB2 可以這樣實現(xiàn)﹕
select colnames from syscat.indexes where tabname='TABLE_NAME' ;
待續(xù)...