我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 数据库教程 -> ORACLE教程 -> 教程内容
  • [ 收藏本页教程 ]
  • ORACLE应用经验(1)ORACLE教程

    教程作者:佚名    教程来源:不详   教程栏目:ORACLE教程    收藏本页
    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')删除字符<
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有