ORACLE应用经验(1)

文章作者 100test 发表时间 2008:04:15 15:59:15
来源 100Test.Com百考试题网


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

  n  number.

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_id  Editor. 

  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_id  LOV. 

  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)

相关文章


2007年题库:报检员考试模拟试题(十八)
2007年报检员全国统一考试12月份仿真试题(1)
2007年题库:报检员考试模拟试题(十七)
ORACLE应用经验(2)
ORACLE应用经验(1)
oracle8的ROWID结构
在UNIX服务器上设置Oracle8i全文检索
嵌套表和可变数组
在UnixWare7.1.1上安装Oracle8i
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛