查看所有文章 (cdavid)為物件更名 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
RENAME old_name TO new_name;
為 table,view,sequence,或synonym,等物件更名,需執行 RENAME 指令 必須為該物件的擁有者,才能對該物件執行RENAME更名指令。 ex: RENAME dept TO department;
發表日期:2007/6/19 17:51
|
|
工具箱
|
||
刪除資料表格 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
DROP TABLE table
資料表格的所有資料及結構,均被刪除. 所有持續中的交易會被事先確認. 所有相關的索引檔一併被刪除. Drop 指令自動確認,無法 Rollback. ex: DROP TABLE dept30; 與該資料表格有關的View或Synonyms設定仍然存在,但會失效。 該資料表格的擁有者,或具有DROP ANY TABLE系統權限者,才能執行刪除該資料表格的動作。 以DROP TABLE指令,為DDL指令會自動COMMIT,一旦執行無法還原,刪除時,Oracle資料庫不會提示警示訊息,故執行此指令需自行留意。
發表日期:2007/6/19 17:49
|
|
工具箱
|
||
ALTER TABLE 修改資料表格 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
可增加一個新欄位
可修改已存在的欄位特性 為新建欄位設定預設值 ALTER TABLE table ADD (column datatype [DEFAULT expr][, column datatype]...); ALTER TABLE table MODIFY (column datatype [DEFAULT expr][, column datatype]...); 可使用ALTER TABLE搭配ADD或MODIFY指令,進行資料結構修改作業。 Table:資料表格的名稱 Column:資料表格內的欄位名稱。 Datatype:欄位的資料型態及其長度。 DEFAULT expr:為欄位設定預設值。 ex: ALTER TABLE dept30 ADD (job VARCHAR2(9)); 新增欄位時,不可與已存在的欄位名稱同名。 新增的欄位,會排序在檔案結構的最後面。 若資料表格中已有資料,則各資料列的新增欄位,會先填入Null值。 ALTER TABLE dept30 MODIFY (ename VARCHAR2(15)); 數值欄位,可增加數值長度或小數點位數。 減少欄位長度,需檔案中無資料,或該欄位均為Null值。 修改欄位的資料型態,需檔案中無資料,或該欄位均為Null值。 CHAR與VARCHAR2的資料型態互換,若不變動長度可直接修改,或該欄位均為Null值時。 預設值的修改,衹對未來新增的資料有影響。
發表日期:2007/6/19 17:23
|
|
工具箱
|
||
Data Dictionary 的查詢 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
查核資料表格的擁有者
SELECT * FROM user_tables; 查核使用者所建立的非重覆性物件種類 SELECT DISTINCT object_type FROM user_objects; 查核 tables,views,synonyms,及 sequences 等物件的擁有者. SELECT * FROM user_catalog; 資料型態 VARCHAR2(size) 變動長度的文字資料型態 CHAR(size) 固定長度的文字資料型態 NUMBER(p,s) 變動長度的數字資料型態 DATE 日期及時間資料型態 LONG 可達 2GB 變動長度的文字資料型態 CLOB 可達 4GB 長度的文字資料型態 RAW and LONG RAW Raw binary 資料型態 BLOB 可達 4GB 的 Binary 資料型態 BFILE 可達 4GB 並儲存於外部檔案的Binary File
發表日期:2007/6/19 16:52
|
|
工具箱
|
||
建立資料表格(CREATE TABLE) |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
CREATE TABLE [schema.]table(column datatype [DEFAULT expr][, ...]);
Schema:與物件擁有者的名稱相同。 Table:資料表格的名稱 DEFAULT expr:指定欄位預設值,用於INSERT指令省略該欄位時。 Column:資料表格內的欄位名稱。 Datatype:欄位的資料型態及其長度。 預設值(DEFAULT) 為了預防新增資料時,未選取該欄位,而欄位資料成為Null值,可為該欄位事先以DEFAULT保留字,設定其預設值。預設值的資料型態,必須符合該欄位的資料型態。可以填入原述值、表述句,或SQL函數,如SYSDATE或USER。但不可引用其他欄位名稱,或使用虛擬欄位,如NEXTVAL或CURRVAL等。 ex: CREATE TABLE dept (deptno NUMBER(2),dname VARCHAR2(14),loc VARCHAR2(13)); 資料表格建立完成,應使用DESC指令查核並確認,資料表格建置的正確性。 使用Subquery建立資料表格 CREATE TABLE table [(column, column...)] AS subquery; 使用AS Subquery 子句建立資料表格並同時匯入指定的資料內容。 Table:資料表格的名稱 Column:資料表格內的欄位名稱。 Subquery:由SELECT指令定義一組資料列做為新增資料的內容。 ex: CREATE TABLE dept30 AS SELECT empno,ename,sal*12 ANNSAL,hiredate FROM emp WHERE deptno = 30;
發表日期:2007/6/19 16:31
|
|
工具箱
|
||
資料庫物件 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
Table 資料表格,是資料庫最基本的儲存單位,由資料列與欄位資料所組成
View 檢視表格,由一個或多個資料表格所組成,用以表達邏輯資料的從屬單位 Sequence 序號檔,設立循序式主建值 Index 索引檔,協助改善查核資料表格的執行效能 Synonym 同義檔名,賦予物件替代名稱 資料表格命名規則 必須以英文字母起頭 可使用 1–30 個字元命名 衹能包含 A–Z, a–z, 0–9, _, $, 及 # 等字元 同一個使用者,不可建立重覆的物件名稱 不可使用 Oracle 資料庫的保留字命名
發表日期:2007/6/19 16:10
|
|
工具箱
|
||
Transactions交易程序 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
DDL及DCL指令,會隱含式地自動執行COMMIT指令,故可結束交易。
正常離開SQL*Plus環境時,Oracle預設會自動COMMIT尚未被確認的執行程序。當機時,Oracle預設尚未被確認的執行程序,自動進行ROLLBACK。 Commit指令 一般DML指令的運作,應避免有過長的交易,使用者最好能執行COMMIT的指令,結束一段交易後,再重新開始交易。過長的交易程序會增加資料庫的負荷,影響執行效益。如完成關連性資料異動後,即可執行資料確認動作。 Rollback指令 ROLLBACK還原交易程序中的資料異動作業。若發現異動資料條件有誤,或執行指令程序有不合理的情形,都可以執行ROLLBACK指令,先還原資料,待查明原因後,再重新執行整個交易程序。如DELETE刪除資料時,忘了給予限制條件,導致所有資料均被誤刪,應執行ROLLBACK指令還原。 Savepoint指令 SAVEPOINT可為交易程序設立標示點,將交易區分成多個小區塊。若有部分執行指令錯誤,僅需還原部分異動作業,不需還原所有的異動作業,可使用ROLLBACK TO SAVEPOINT 指令,指定返回某一標示點,取消該標示點之後的DML執行程序。若SAVEPOINT標示點的命名重覆,Oracle會取用最近命名的標示點,之前同名的標示點會自動刪除。 以 SAVEPOINT 為目前交易設立標示點. 以 ROLLBACK TO SAVEPOINT 指令, 取消目前異動交易, 返回到某標示點. SQL> UPDATE... SQL> SAVEPOINT update_done; Savepoint created. SQL> INSERT... SQL> ROLLBACK TO update_done;
發表日期:2007/6/18 13:32
|
|
工具箱
|
||
資料處理語言(DML)指令 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
INSERT 指令之語法
INSERT INTO table[(column [,column...])] VALUES (value [,value...]); Table:指定需新增資料的資料表格名稱。 Column:可指定資料表格內的欄位名稱,亦可省略不寫。 Value:設定與欄位資料型態相符並相對應的資料內容 使用 INSERT 將資料新增至table 每次只能新增一筆資料 ex: INSERT INTO dept(deptno,dname,loc) VALUES (50,'DEVELOPMENT','DETROIT'); 注意欄位名稱與欄位值之對應 新增字串及日期資料時,須加上單引號'' 不知道資料表格中的欄位順序,可先描述檔案結構。ex:DESCRIBE dept 新增含NULL值之資料列 Implicit隱含式:在資料表格後直接省略該欄位的列示。 INSERT INTO dept(deptno,dname ) VALUES (60,'MIS') Explicit明確式:在VALUES子句後,直接以NULL保留字填值,若為文字或日期型態的欄位,可直接填入兩個連續單引號''的空字串。 INSERT INTO dept VALUES (70,'FINANCE',NULL); 新增資料時,仍應先以DESC指令查明該欄位是否允許填入Null值,且需符合對應欄位的資料型態。若欄位設有Constraint約束條件,尚需考量所指定的欄位值是否符合Constraint的檢核條件。 使用 SYSDATE 回傳目前系統時間 ex: INSERT INTO emp(empno,ename,job,mgr,hiredate,sal, comm,deptno) VALUES(7196,'GREEN','SALESMAN',7782, SYSDATE,2000,NULL,10); 若新增資料時,指定不同於預設日期的格式,需使用TO_DATE函數進行格式轉換。 TO_DATE('FEB 3, 97', 'MON DD, YY') 若為文字或日期型態的欄位,使用替代變數時,需加上單引號,避免造成使用者輸入資料時的困擾。 INSERT INTO dept(deptno,dname,loc) VALUES &department_id,'&department_name','&location'); 與次查詢的搭配使用 INSERT INTO table[column(,column)]subquery; 所擷取的欄位,需與列示欄位相對應。 使用次查詢功能,就不可再使用VALUES 保留字。 ex: INSERT INTO managers(id,name,salary,hiredate) SELECT empno,ename,sal,hiredate FROM emp WHERE job='MANAGER'; UPDATE 指令 UPDATE table SET column=value [,column=value, ...] [WHERE condition]; Table:指定需修改資料的資料表格名稱。 Column:指定資料表格內欲修改資料的欄位名稱。 Value:指定與欄位資料型態相符的資料內容。定要使用[=]等式運算元。 Condition:指定欲修改之資料列的限制條件。可使用欄位名稱、表述句、常數、次查詢及比較運算元,指定資料範圍。 注意是否有重覆性資料,會一起被更動。 ex: UPDATE emp SET deptno=20 WHERE empno=7782; 次查詢的擷取結果,需為單筆資料列的對應欄位。 所對應的欄位會一起被修改。 ex: UPDATE emp SET (job,deptno)=(SELECT job,deptno FROM emp WHERE empno=7499) WHERE empno=7698; 若以指定欄位分別對應個別的次查詢,可觀察其執行結果的差異。 ex: UPDATE emp SET job=(SELECT job FROM emp WHERE empno=7499),deptno=(SELECT deptno FROM dept WHERE dname='SALES') WHERE empno=7698; 依作業需求,修改資料時,配合次查詢的功能運作,可利用本身資料表格的資料內容,為對照條件,亦可引用其他資料表格的資料內容,為對照條件。 ex: UPDATE employee SET deptno=(SELECT deptno FROM emp WHERE empno=7788) WHERE job=(SELECT job FROM emp WHERE empno=7788); 注意事項 若所欲修改的欄位,設有資料關連的約束條件(Constraint),若指定欄位值未能通過檢核,則會因違反維護資料完整性的限制條件,而出現錯誤訊息。 DELETE 指令 DELETE [FROM] table [WHERE condition]; Table:指定需刪除資料的資料表格名稱。 Condition:指定欲刪除之資料列的限制條件。可使用欄位名稱、表述句、常數、次查詢及比較運算元,指定資料範圍。 若以日期欄位做為刪除資料的條件,設定日期條件時,應轉換日期格式。 DELETE FROM emp WHERE hiredate>TO_DATE('01.01.97','DD.MM.YY); 注意事項 若試圖刪除一筆,設有資料關連約束條件的資料列時,會產生錯誤訊息,因違反維護資料完整性的檢核條件。範例中,欲刪除部門編號為10的資料時,因該部門尚有員工資料與之關連,故無法刪除,除非先將該部門的所有員工資料,先行刪除,無員工資料與之對應後,才可刪除部門編號為10的資料列。 DELETE FROM dept WHERE deptno=10;
發表日期:2007/6/18 12:11
|
|
工具箱
|
||
建置執行程序(Script File)產出格式化報表 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
於SELECT語法後,加入清除格式化指令
儲存 script file 執行程序 輸入“START filename”執行儲存程序 ex: SET FEEDBACK ON REM clear all formatting commands … CLEAR COLUMN CLEAR BREAK
發表日期:2007/6/18 12:07
|
|
工具箱
|
||
物件導向的基礎 |
||
|---|---|---|
|
站長
![]()
註冊日期:
2007/2/15 16:05 來自 台北縣
所屬群組:
網站管理員 註冊會員 文章:
92
等級: 8; EXP: 57
HP : 0 / 189 MP : 30 / 1972 ![]() |
物件的特性
狀態(State):物件所有屬性目前的狀態值,屬性是用來儲存物件的狀態,可以是布林值變數,也可能是另一物件 行為(Behavior):行為是物件可見部分提供的服務,可以作什麼事 識別字(Identity):是用來識別不同的物件,每一個物件都擁有獨一無二的識別字,是使用物件參考作為物件的識別字,也就是實際儲存的記憶體位址 物件基礎程式語言(Object-based Languages):只提供資料抽象化和物件觀念 物件導向程式語言(Object-oriented Languages):支援封裝、繼承和多形的觀念 物件導向程式語言特性 封裝(Encapsulation):是將資料和處理資料的程序與函數組合起來建立物件。在Java是用類別(Class),內含屬性和方法,屬於一種抽象資料型態(Abstract Data Type),就是替程式語言定義新的資料型態 繼承(Inheritance):物件的再利用,當定一好一個類別後,其他類別可以繼承這個類別的資料和方法,並且新增或取代繼承物件的資料和方法。 多形(Polymorphism):屬於物件導向最複雜的特性,類別如果需要處理各種不同資料型態時,並不需要針對不同資料型態建立不同的類別,可以直接繼承基礎類別,繼承此類別建立同名方法處理不同的資料型態,因為方法的名稱相同,只是程式碼不同,所以也稱為[同名異式]
發表日期:2007/6/16 19:53
|
|
工具箱
|
||


工具箱