熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

ORACLE 應用經驗(1)

2022-06-13   來源: Oracle 

  作者: JAN(January) FEB(February) MAR(March)
  APR(April) MAY(May) JUN(June)
  JUL(July) AUG(August) SEP(September)
  OCT(October) NOV(November) DEC(December)
  ********************************************************************
  ****************************常用設置********************************
  onlog 觸發器編寫示范
  Declare
  flag varchar():=null;
  cou number:=;
  n number;
  Begin
  Loop
  logon(USERNAMEPASSWORD||@||CONNECTPROPERTY_FALSE);
  flag:=Get_Application_Property(DATASOURCE);
  Exit when cou> or flag=ORACLE;
  cou:=cou+;
  End Loop;
  If flag<>ORACLE then
  set_alert_property(a_alert_message_text
  登錄失敗請返回重試);
  n:=show_alert(a_);
  raise form_trigger_failure; 中斷 FORM
  End if;
  End;
  對基表執行查詢(只對基表)
  Set_Block_Property(Block_NameDefault_Wherewhere );
  Go_Block(Block_Name);
  Execute_Query;
  ***************************************************
  變量
  局部變量
  全局變量:em
  :parameterv_name
  :globalV_name
  
  ***************************************************
  同步發生顯示
  synchronize;
  實施TRIGGER觸發
  EXECUTE_TRIGGER(TRIGGER_NAME);
  清除模塊
  clear_block(NO_VALIDATE); NO_VALIDATE不生效
  建立警告欄並由警告欄選擇
  Declare
  n number;
  Begin
  Set_Alert_Property(Alert_NameAlert_Message_Textmessage);
  n:=Show_Alert(Alert_Name);
  If n=Alert_Button then
  ;
  ElsIf n=Alert_Button then
  ;
  End if;
  End;
  WINDOW設置
  運行時最大化最小化
  Set_Window_Property(FORMS_MDI_WINDOW WINDOW_STATE MAXIMIZE|MINIMIZE);
  WINDOW標題
  Set_Window_Property(FORMS_MDI_WINDOW titleTEXT);
  退出是否為真
  Set_Window_Property(FORMS_MDI_WINDOW REMOVE_ON_EXITPROPERTY_FALSE|TRUE);
  設置系統提示信息等級
  :SystemMessage_Level:= |||;
  設置ITEM屬性
  設置ITEM屬性ENABLED
  Set_Item_Property(Block_nameItem_nameENABLEDPROPERTY_TRUE|FALSE);
  設置ITEM屬性NAVIGABLE
  Set_Item_Property(Block_nameItem_nameNAVIGABLEPROPERTY_TRUE|FALSE);
  設置ITEM屬性VISUAL_ATTRIBUTE
  Set_Item_Property(Block_nameItem_namevisual_attributevname);
  vname由導航器中(VISUAL_ATTRIBUTES)定義
  設置ITEM屬性DISPLAYED
  Set_Item_Property(Block_nameItem_namedisplayedTRUE|FALSE);
  設置ITEM屬性POSITION
  Set_Item_Property(Block_nameItem_namepositionxy);
  設置ITEM_SIZE
  Set_Item_Property(Block_nameItem_nameitem_sizexy);
  設置ITEM屬性LABLE
  Set_Item_Property(Block_nameItem_nameLABELMESSAGE)
  設置LIST ITEM示范
  Declare
  n number;
  Begin
  clear_list(bfkfs);
  m:=populate_group(fkfs);
  populate_list(bfkfsfkfs);
  /*
  其中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);
  Add_List_Element(years );
  END;
  獲得LIST ITEM項的組成
  獲得LIST ITEM的總和
  GET_LIST_ELEMENT_COUNT(list_id);
  GET_LIST_ELEMENT_COUNT(list_name);
  獲得LIST ITEM的標簽
  GET_LIST_ELEMENT_LABEL(list_id list_name list_index);
  GET_LIST_ELEMENT_LABEL(list_name list_index);
  
  獲得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() := ;
  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 :em_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_name); lov_name 由導航器定義
   END IF;
  status := Show_LOV(lv_id);
  END;
  定義一個EXCEPTION例外
  Declare
  err_ exception;
  Begin
  If then
  Raise err;
  End if;
  Exception
  When err_ then
  
  END;
  設置應用特性(光標類型)
  SET_APPLICATION_PROPERTY(CURSOR_STYLE
  CROSSHAIR|BUSY|HELP|DEFAULT|INSERTION);
  
  ***********************************************************************
  **********************************函數*********************************
  把字符串的字符變成全大寫(UPPER)全小寫(LOWER)第一個字母大寫(INITCAP)
  UPPER|LOWER|INITCAP(STRING)
  在文件的左(LPAD)右(RPAD)粘貼字符
  LPAD|RPAD(STRINGLENGTHSET) LENGTH為總字符長SET為粘貼字符
  在文件的左(LTRIM)右(RTRIM)刪除字符
  LTRIM|RTRIM(SRTINGSET) SET為待刪除字符
  找出字符集在字符串中的位置
  INSTR(STRINGSETNM) 從STRING中找出SETN位起第M
  數的絕對值
  ABS(VALUE)
  MOD
  MOD(VALUE除數) 返回除數VALUE的余數常用判斷VALUE是否為整數
  VALUEN位四捨五入ROUND 或從N位截斷TRUNC
  ROUND|TRUNC(VALUEN)
  返回VALUE的符號
  SIGN(VALUE)
  
  列表的最大值
  GREATEST(NN);
  列表的最小值
  LEAST(NN);
  返回小於或等於數的最大整數
  FLOOR(VALUE) floor()= floor()=
  返回大於或等於數的最小整數
  CEIL(VALUE) cell ()= cell ()=
  
  取字符串長度
  substr(stringstartnumber) number為string長度start為string起點
  
  
  DECODE函數多重(ifthenelse)
  decode(valueifthenifthenelse)
  判斷VALUE是否為空(空值替換)
  NVL(UALUEWKFHZ) WKFHZ是為空返回值不為空則為原值
  字段長度
  length(:em_id)
  返回字符串的第一(最左)個字符的ascII值
  ascII(string)
  多行VALUE的 (作用於多)
  AVG(VALUE)平均值
  COUNT(VALUE)行數
  MAX(VALUE)最大值
  MIN(VALUE)最小值
  SUM(VALUE)和
  字符轉換
  TRANSLATE(STRING待轉字符轉換字符);
  如 TEANSLATE(AAABBBABBA) 返回BBBAAA
  
  比較單行中多個列的值獲得最大(GREATEST最小(LEAST)
  GREATEST|LEAST(列名列名)
  按表達式或位置排序
  ORDER BY 表達式OR位置 ASC|DESC ASCDESC 默認ASC
  ***********************************************************************
  ***********************************************************************
  游標的屬性
  () %ISOPEN 打開屬性 布爾型 打開為TRUE
  判斷光標是否打開如未打開則打開光標
  IF NOT(CORSOR_NAME%ISOPEN) THEN
  OPEN CORSOR_NAME;
  END IF;
  FETCH
From:http://tw.wingwit.com/Article/program/Oracle/201311/17090.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.