???
本文研究有關Oracle數據庫對象的用法。Oracle中包含五種數據庫對象,分別為別名、序列、視圖、索引和簇,其中別名和序列為Oracle中特有的數據庫對象。
??? 別名:通過對Oracle中數據表設置別名之后,可以使用別名對數據表進行與原表名同樣的各種操作。其語句關鍵字為synonym,下面看其具體用法。
??? 創建同義詞:create synonym student for stu;
??? 通過創建后,student即為stu表的別名,因此以下兩語句執行結果為一樣的
??? select *from student;? ==>?? select *from stu;
??? 刪除同義詞:drop synonym student;
??? 序列:作為Oracle的特有對象,序列用來實現Oracle的主鍵自增,這是區別于其他關系數據庫的。關鍵字為sequence。
??? 創建序列方法:create sequence NumSeq increment by 1 start with 1 maxvalue 999;創建一個序列從1開始遞增量為1并設置最大值為999。
??? 序列使用:insert into testTable values(NumSeq.nextVal);
??????? nextVal
?
返回下一個可用的值
;?
??????? currVal
?
獲得當前序列中值
??
第一次需先返回一個
nextVal
,才能取得curr
Val
值.??
??????? Alter? sequence?
修改序列定義: alter sequence NumSeq set maxvalue 1000;
??? 視圖與索引:其用法與其他數據庫相同,這里不多贅述。
??? 簇:
兩表或多個表中存在相同列,將相同列存儲在一個空間中,以節省空間。
??? 創建簇方法:
??? create cluser classcluser
??? (
?????????? ClassNo varchar2(10)
??? );
??? 為簇創建索引? create index cluserIndex on cluser classcluser;
??? 創建表StuClass并指向已定義簇
??? create table StuClass
??? (
?????????? ClassNo varchar2(10),
?????????? ClassName varchar2(20)
??? )cluser classcluser(ClassNo);
??? 創建表Student并指向已定義簇
??? create table Student
??? (
?????????? StuNo int,
?????????? ClassNo varchar2(10)
??? )cluser classcluser(ClassNo);
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
???? 隱姓埋名/低調華麗/簡單生活/完美人生