ORACLEݿ⿪ (ĺ˵޹˾ Ƹͬ )   
ORACLEݿΪݿϵͳһֱռϸ߶ݿݶǿƵݿܣԼORACLE˾Ƴ³µĲŬһֱΪITҵĿĽ㡣ĺ˵վݿƽ̨ORACLE7.3Ϊƽ̨ǰѡORACLE˾DEVELOPER 2000 DESIGNER 2000ΪߣĿǰеCLIENT/SERVERģʽORACLEϵͳĿУORACLE׿һЩԼᣬͬвο 

---- һ. ORACLE SQL PLUS ʹü: 

---- ٲظ¼: 

SELECT DRAWING,DSNO FROM EM5_PIPE_PREFAB
WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5
_PIPE_PREFAB D
WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND 
EM5_PIPE_PREFAB.DSNO=D.DSNO);
---- ִSQLͿʾDRAWINGDSNOͬظļ¼ 
---- ɾظ¼: 

DELETE FROM EM5_PIPE_PREFAB 
WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5
_PIPE_PREFAB D
WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND 
EM5_PIPE_PREFAB.DSNO=D.DSNO);
---- ִSQLͿԄhDRAWINGDSNOͬظļ¼ 
----  ٱͼ 

---- ڰݿ⵹뵽µķϺ(ݿؽ)Ҫͼ±һ飬Ϊñռͼռıӻ⣬PL/SQLԣٱ롣 

SQL >SPOOL ON.SQL
SQL >SELECT ALTER VIEW ||TNAME||
COMPILE; FROM TAB;
SQL >SPOOL OFF
ȻִON.SQLɡ
SQL >@ON.SQL
ȻȨʹͬҲԿٽУ磺
SQL >SELECT GRANT SELECT ON 
||TNAME|| TO USERNAME; FROM TAB;
SQL >SELECT CREATE SYNONYM 
||TNAME|| FOR USERNAME.||TNAME||; FROM TAB;

 ߱ӵĲѯٶ
(ͼ)ʱʹ·ѯ:
SELECT PAY_NO, PROJECT_NAME
FROM A
WHERE A.PAY_NO NOT IN (SELECT PAY_
NO FROM B WHERE VALUE >=120000);
---- A10000¼B10000¼Ҫõ30Ӳܲ꣬ҪΪNOT INҪһһıȽϣҪ10000*10000αȽϺ󣬲ܵõӺ󣬿̵1ҵʱ: 
SELECT PAY_NO,PROJECT_NAME 
FROM A,B
WHERE A.PAY_NO=B.PAY_NO(+)
AND B.PAY_NO IS NULL 
AND B.VALUE >=12000;
----  дıͲϵͳļ 
---- PL/SQL 3.3ϵİ汾УUTL_FILEûͨPL/SQLдϵͳļ£ 

DECALRE
FILE_HANDLE UTL_FILE.FILE_TYPE;
BEGIN
FILE_HANDLE:=UTL_FILE.FOPEN(
C:,TEST.TXT,A);
UTL_FILE.PUT_LINE(FILE_HANDLE,
HELLO,ITS A TEST TXT FILE);
UTL_FILE.FCLOSE(FILE_HANDLE);
END;
---- UTL_FILEݿϸϢԲμϡ 

һ 
----  ݿⴥʹеֵֵ 

---- ݿⴥмҪʹôֵĳҪĳ޸ǰֵʹ:OLDͿˣʹĳ޸ĺֵ:NEWͿˡ:OLD.DEPT_NO,:NEW.DEPT_NO 

---- .ORACLE DEVELOPER 2000ʹüɣ 

----  ıFORM(FMXģ)ʱRunform4.5ͷ: 

---- DEVELOPER2000FMXĬͷΪDeveloper/2000 Forms Runtime for Windows 95 / NT ԸΪԼı, 

---- 1. FormӴWHEN-NEW-FORM-INSTANCE 

---- 2. ڴ˴д´룺 

set_window_property(FORMS_MDI_WINDOW,TITLE,'POINT
SYSTEM ӭʹ');
----  ز˵еwindowѡ: 
---- ڴԼĲ˵ʱѡwindowȥ, 

---- 1. һMenu 

---- 2. MenuнһItem,ΪWINDOW 

---- 3. øItem: 

----

Menu Item Type:Magic 
Command Type:Null 
Magic Item:Window 
Lable:Ϊ

----  ̬бList 
---- Developer 2000 ебͨԶбõģֻǾ̬ģʱĳΪ̬бݵĸıı䣬ҪȥСϸȥ: 

---- пEBOP_CABLE_ACCOUNTSPECIFICATIONһģʱͽSPECIFICATIONݿд洢ֵ̬ʾForm4.5нһPRCEDUREΪDYN_LIST: 

PROCEDURE DYN_LIST IS
CURSOR C1 IS 
SELECT DISTINCT(SPECIFICATION) 
FROM EBOP_CABLE_ACCOUNT;
CNT NUMBER;
i NUMBER; 
TNAME EBOP_CABLE_
ACCOUNT.SPECIFICATION%TYPE;
BEGIN
CLEAR_LIST('EBOP_CABLE_
ACCOUNT.SPECIFICATION');
SELECT COUNT(DISTINCT
(SPECIFICATION)) INTO CNT FROM EBOP
_CABLE_ACCOUNT;
open C1;
FOR i IN 1..CNT LOOP
FETCH C1 INTO TNAME;
EXIT WHEN C1%NOTFOUND 
OR C1%NOTFOUND IS NULL;
ADD_LIST_ELEMENT
('EBOP_CABLE_ACCOUNT
.SPECIFICATION',i,TNAME,TNAME);
END LOOP;
DELETE_LIST_ELEMENT
('EBOP_CABLE_ACCOUNT.SPECIFICATION',CNT+1);
CLOSE C1;
END;
ȻFORMWHEN-NEW
-FORM-INSTANCEмһУ
DYN_LIST;
---- һFMXͻᶯ̬ˢ¸б֮⣬SPECIFICATIONΪб 
----  ʾ¼رʱ֯¼뼰ʾ: 

---- ͼʾPRN뼰豸ڻ1(CONTENT)ϣڻ2(STACK)ϣΪһлһˮƽʱTABûسʱȫŲرʾ¼ʱáҪ˳ΪȽ1(CONTENT)2(STACK)Ȼ飬ѡʱû1ʾڻ1ϣȻѡгPRN뼰豸֮ѡTOOLS˵µPROPERTIESѡЩCANVASѡΪ2(STACK)ȻλþͿˡ 

----  FORM޴ύ 

---- FORMкܶഥǲCOMMIT WORKģڸôʹUPDATEDELETEȲʱҪCOMMIT WORKˡڷ˽DB_SQL_COMMIT(ORACLE7.3ݿ) 

PROCEDURE DB_SQL_COMMIT IS
source_cursor integer;
ignore integer;
V7 NUMBER :=2;
BEGIN
source_cursor:=dbms_sql.open_cursor;
dbms_sql.parse(source_cursor,'COMMIT WORK',V7);
ignore:=dbms_sql.execute(source_cursor);
DBMS_SQL.CLOSE_CURSOR(source_cursor);
END;
---- ȻFORMиôеùDB_SQL_COMMIT;ͿˣȻԸԼҪù̼ͨԵõִDMLȨޡ

-  FORMʵĳԶ¼żһ 

---- ΪVO,ҪΪVO_ID,ڸÿн鼶WHEN-CREATE- RECORD´룺 

:VO_ID:=:System.Trigger_Record;
---- ÿ¼¼ʱVO_IDͻԶһˡ 
----  һFORMеһFORMһеһʱʾضļ¼ʱûҪڵһFORMʱֻʾصļ¼£һFORMĿһťڰťм´룺 

DECLARE
PM 
PARAMLIST;
BEGIN
PM:=GET_PARAMETER_LIST('PM');
IF NOT ID_NULL(PM) THEN
DESTROY_PARAMETER_LIST('PM');
END IF;
PM:=CREATE_PARAMETER_LIST('PM');
......................
ADD_PARAMETER(PM,'THE_WHERE',
TEXT_PARAMETER,'EM_NAME=''EM4'' 
AND EM_PROJECT_NAME=''֧Ԥ''');
OPEN_FORM('PAYMENT',ACTIVATE,SESSION,PM);
END
---- EM_NAMEEM_PROJECT_NAMEΪFORMĳPAYMENTΪҪõFORMģ顣ͨݲбͿԵõҪĽFORM PAYMENT.FMBУһTHE_WHERECHARͣ1000ȻPAYMENT.FMBнFORMWHEN-NEW-FORM-INSTANCEڸôм䣺 
IF :PARAMETER.THE_WHERE IS NOT NULL THEN
SET_BLOCK_PROPERTY('PAYMENT',
DEFAULT_WHERE,:PARAMETER.THE_WHERE);
END IF;
---- PAYMENTΪҪʾĿ飬ͨݾ͵õҪĳЩضˡ 
----  FORMеӿʱ¼αⱻϵʾ棺 

---- ÿһ¼¼ĴӼ¼󣬴ʱٵһ¼FORMͻʾǷҪ¼㲢ϣFORMʾԶ棬ʱԵProgram UnitsҵPROCEDURE Clear_All_Master_DetailsȻҵ 

Clear_Block(ASK_COMMIT); 
---- ΪClear_Block(DO_COMMIT);Ϳˡ 
----  Reportʼʱѡ: 

---- ڱʼParameter Formѡ񱨱ĸ 

---- 1. USER PARAMETER дSORTΪַͣ20 

---- 2. ʼֵѡη,Ȼĸֵ뵽DATA SELECTIONУγб 

---- 3. ȻQUERYеSQL: 

select CHARGER,FCO_NO,EM_NAME,FCO
_NO,DESCRIPTION, FCR_POINT 
from FCR_MAIN 
ORDER BY DECODE(:SORT,'η',CHARGER,'FCO',
FCO_NO,'FCR',FCR_NO,'FCR',EM_NAME)

----  Developer 2000ζдϵͳļ 
---- Developer 2000Ŀ߿ӦóʱҪдⲿļ⣬ORACLE İTEXT_IO: 

DECLARE
IN_FILE TEXT_IO.FILE_TYPE;
OUT_FILE TEXT_IO.FILE_TYPE;
LINE_BUFER VARCHAR2(80); 
/*IN_FILE,Խֶһֵ˱*/
BEGIN
IN_FILE:=TEXT_IO.FOPEN
(C:TEMPTEST1.TXT,r);
OUT_FILE:=TEXT_IO.FOPEN
(C:TEMPTEST2.TXT,w+);
LOOP
TEXT_IO.GET_LINE(IN_FILE,LINE_BUFER);
TEXT_IO.PUT(LINE_BUFER);
TEXT_IO.NEW_LINE;
TEXT_IO.PUT_LINE(OUT_FILE,LINE_BUFER);
END LOOP;
EXCEPTION
WHEN no_data_found THEN
TEXT_IO.PUT_LINE(CLOSING THE FILE ,PLEASE WAITING....);
TEXT_IO.FCLOSE(IN_FILE);
TEXT_IO.FCLOSE(OUT_FILE);
END;
---- .ݿ 

----  ɾһеȫʱʹTRUNCATE TABLE ;ΪDROP TABLEDELETE * FROM ʱTABLESPACEռñռÿռ䲢δͷţDROPDELETE󣬸TABLESPACEϰ׵ĿռͱĹˡ 

----  ݿļƶ 

---- 뽫ݿļƶһĿ¼ʱALTER DATABASEƶ(ALTER TABLESPACEǿ) 

---- 1. ʹSERVER MANAGERرʵ. 

SVRMGR > connect internal;
SVRMGR > shutdown;
SVRMGR >exit;
---- 2. ʹòϵͳƶݿļλ(ϵͳΪSOLARIS 2.6). UNIX mv԰ļƶµλã 

#mv /ora13/orarun/document.dbf /ora12/orarun
---- 3. װݿⲢalter databaseıݿеļ. 
SVRMGR > connect internal;
SVRMGR > startup mount RUN73;
SVRMGR > alter database rename file
> / ora13/orarun/document.dbf
> / ora12/orarun/document.dbf;
---- 4. ʵ. 

SVRMGR > alter database open;
---- (huangfutong@china.com) 

---- ORACLEݿ⿪ܽ