ORACLE 응용 경험 치 (1)

61186 단어 OacleGo
ORACLE    (1)
JAN-1(January) FEB-2(February) MAR-3(March)
APR-4(April) MAY-5(May) JUN-6(June)
JUL-7(July) AUG-8(August) SEP-9(September)
OCT-10(October)NOV-11(November)DEC-12(December)
********************************************************************
****************************    ********************************
---on-log        
Declare
flag varchar2(80):=null;
cou number:=1;
n number;
Begin
Loop
 logon(USERNAME,PASSWORD||'@'||CONNECT,PROPERTY_FALSE....);
 flag:=Get_Application_Property(DATASOURCE);
 Exit when cou>8 or flag='ORACLE';
 cou:=cou+1;
End Loop;
If flag<>'ORACLE' then
 set_alert_property('a_1',alert_message_text,
 '    ,     ');
n:=show_alert('a_1');
 raise form_trigger_failure; --   FORM
End if;
End;
---       (    )
 Set_Block_Property('Block_Name',Default_Where,'where ......');
 Go_Block('Block_Name');
 Execute_Query;
 ***************************************************
 
     --------------1.:block.item
  2.:parameter.v_name
  3.:global.V_name
 
***************************************************
---      
 synchronize; 
---  'TRIGGER'  
 EXECUTE_TRIGGER(TRIGGER_NAME);
---    
 clear_block(NO_VALIDATE);'NO_VALIDATE'   
--            
Declare
 n number;
Begin
 Set_Alert_Property('Alert_Name',Alert_Message_Text,'message');
 n:=Show_Alert('Alert_Name');
 If n=Alert_Button1 then
 ...; 
ElsIf n=Alert_Button2 then 
...;
 End if;
End;
---WINDOW  
--      ,   
Set_Window_Property(FORMS_MDI_WINDOW, WINDOW_STATE, MAXIMIZE|MINIMIZE);
--WINDOW  
Set_Window_Property(FORMS_MDI_WINDOW, title,'TEXT');
--      
Set_Window_Property(FORMS_MDI_WINDOW, REMOVE_ON_EXIT,PROPERTY_FALSE|TRUE);
---          
:System.Message_Level:= '5|10|15|20'; 
---  ITEM  
--  ITEM  ENABLED
Set_Item_Property('Block_name.Item_name',ENABLED,PROPERTY_TRUE|FALSE);
--  ITEM  NAVIGABLE
Set_Item_Property('Block_name.Item_name',NAVIGABLE,PROPERTY_TRUE|FALSE);
--  ITEM  VISUAL_ATTRIBUTE
Set_Item_Property('Block_name.Item_name',visual_attribute,'vname'); 
--'vname'     (VISUAL_ATTRIBUTES)  
--  ITEM  DISPLAYED
Set_Item_Property('Block_name.Item_name',displayed,TRUE|FALSE);
--  ITEM  POSITION
Set_Item_Property('Block_name.Item_name',position,x,y);
--  ITEM_SIZE
Set_Item_Property('Block_name.Item_name',item_size,x,y);
--  ITEM  LABLE
Set_Item_Property('Block_name.Item_name',LABEL,'MESSAGE')
---  LIST ITEM  
Declare
nnumber;
Begin
 clear_list('b1.fkfs');
 m:=populate_group('fkfs');
 populate_list('b1.fkfs','fkfs');
/*
   FKFS   record group ;
*/
End;
---  'LIST ITEM'
 Add_List_Element(list_name, list_index, list_label, list_value);
 Add_List_Element(list_id, list_index, list_label, list_value);
---  'LIST ITEM' 
 Delete_List_Element(list_name, list_index);
 Delete_List_Element(list_id, list_index);
  :
 BEGIN 
Delete_List_Element('years',1); 
Add_List_Element('years', 1, '1994', '1994'); 
END; 
---  'LIST ITEM'    
 1.  'LIST ITEM'    
GET_LIST_ELEMENT_COUNT(list_id);
 GET_LIST_ELEMENT_COUNT(list_name); 
2.  'LIST ITEM'   
 GET_LIST_ELEMENT_LABEL(list_id, list_name, list_index); 
GET_LIST_ELEMENT_LABEL(list_name, list_index);
 
3.  'LIST ITEM'  
 GET_LIST_ELEMENT_VALUE(list_id, list_index); 
GET_LIST_ELEMENT_VALUE(list_name, list_index);
---  '  '
DECLARE 
timer_id Timer; 
one_minute NUMBER(5) := 60000; 
BEGIN 
timer_id := CREATE_TIMER('emp_timer', one_minute, REPEAT|NO_REPEAT); 
END;
---    'EDITER' 
DECLARE 
ed_idEditor; 
status BOOLEAN; 
BEGIN 
ed_id:=Find_Editor('edit_name'); --- 'edit_name'     
IF NOT Id_Null(ed_id) THEN 
Show_Editor(ed_id, NULL, :block_name.item_name, status);
ELSE 
Message('Editor "Happy_Edit_Window" not found'); 
RAISE Form_Trigger_Failure; 
END IF; 
END; 
----    'LOV' 
DECLARE 
lv_idLOV; 
status BOOLEAN; 
BEGIN 
lv_id := Find_LOV('lov_name'); ---'lov_name'       
--IF Id_Null(lv_id) THEN 
-- lv_id := Find_LOV('lov_name1'); ---'lov_name1'       
--END IF; 
status := Show_LOV(lv_id,10,20); 
END; 
---    'EXCEPTION'  
Declare
err_1 exception;
Begin
If ...then
 Raise err-1;
End if;
Exception
 When err_1 then
 ....
END;
---      (    )
 SET_APPLICATION_PROPERTY(CURSOR_STYLE,
 'CROSSHAIR'|'BUSY'|'HELP'|'DEFAULT'|'INSERTION');
 
*********************************************************************** 
**********************************  *********************************
---            (UPPER)   (LOWER)       (INITCAP)
 UPPER|LOWER|INITCAP(STRING)
---     ('LPAD') ('RPAD')    
 LPAD|RPAD(STRING,LENGTH,'SET')"LENGTH"     "SET"     
---     ('LTRIM') ('RTRIM')    
 LTRIM|RTRIM(SRTING,'SET') "SET"      
---  '   '        
INSTR('STRING','SET',N,M) 'STRING'   'SET' 'N'   'M' 
---     
 ABS(VALUE)
---'MOD' 
 MOD(VALUE,  )   '  ' 'VALUE'       'VALUE'      
--- 'VALUE' 'N'     'ROUND'  'N'   'TRUNC'
 ROUND|TRUNC(VALUE,N)
---  'VALUE'   
 SIGN(VALUE)
 
---      
 GREATEST(N1,N1...);
       
 LEAST(N1,N1...);
---             
 FLOOR(VALUE) floor(1.3)=1floor(-1.3)=-2
---             
 CEIL(VALUE) cell (1.3)=2cell (-1.3)=-1
---      
 substr(string,start,number)number string  ,start string  
 
---DECODE  ,  (if,then,else)
 decode(value,if1,then1,if2,then2,.....,else)
---  'VALUE'    (    )
 NVL(UALUE,'WKFHZ')'WKFHZ'      ,       
---    
 length(:block_name.item_id)
---        (  )    ascII 
 ascII(string)
---  'VALUE'  (    ' ')
 AVG(VALUE)   
 COUNT(VALUE)  
 MAX(VALUE)   
 MIN(VALUE)   
 SUM(VALUE) 
---    
 TRANSLATE(STRING,'    ','    ');
  TEANSLATE('AAABBB','AB','BA')  'BBBAAA'
 
---              ('GREATEST'  ('LEAST')
 GREATEST|LEAST(  ,  ,...)
---         
ORDER BY '   'OR'  ' ASC|DESCASC' ',DESC' '   'ASC' 
***********************************************************************
***********************************************************************
---     
 (1) %ISOPEN          TRUE 
  '  '           '  '
 IF NOT(CORSOR_NAME%ISOPEN) THEN
 OPEN CORSOR_NAME;
 END IF;
 FETCH CORSOR_NAME INTO ...
 (2) %NOTFOUND        'FETCH'       TRUE
 OPEN CORSOR_NAME;
 LOOP
 FETCH CORSOR_NAME INTO ... 
EXIT WHEN CORSOR_NAEM%NOTFOUND;
 END LOOP;
 (3) %FOUND        'FETCH'       FALSE
 OPEN CORSOR_NAME;
 
WHILE CORSOR_NAME%FOUND LOOP
 ......
 FETCH CORSOR_NAME INTO ... 
END LOOP;
 CLOSE CORSOR_NAME; 
(4) %ROWCOUNT NUMVER         
 OPEN CORSOR_NAME;
 LOOP
 FETCH CORSOR_NAME INTO ... 
EXIT WHEN CORSOR_NAME%ROWCOUNT>5; 
...... 
END LOOP; 
CLOSE CORSOR_NAME; 
---    
 (1)    
 LOOP 
.....
 EXIT WHILE;  (EXIT WHEN X>100)
 END LOOP;
 (2)WHILE  
WHILE  ( WHEN X>100) LOOP
 .....
 END LOOP;
 (3)   FOR  'X'    
FOR X IN (   ) Y..Z LOOP
 .....
 END LOOP;
 (4)  FOR  
 
---Exception(  )    'BEGIN' 'END'  
 Exception
   1  '      ' 
 when no_data_found then 
  2  '      ' 
 when others then 
  3  '    ' 
 WHEN TOO_MANY_ROWS THEN
  4  '         ' 
 WHEN INVALID_NUMBER THEN 
  5  '   ' 
 WHEN ZERO_DIVIDE THEN 
  6  '            ' 
 WHEN DUP_VAL_ON_INDEX THEN
   7  '      ' 
 WHEN INVALID_CURSOR THEN
   8  '   <
  

좋은 웹페이지 즐겨찾기