网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle笔记-优化器计划稳定性.
.初学者必读:Oracle数据库安装错.
.Linux_FAQ之四:系统配置.
.Oracle在Solaris下的性能与调整.
.教你怎样把Oracle查询转换为SQL .
.如何使用Logmnr方法分析数据库日.
.SQL语句性能调整(1).
.Oracle FAQ 2003.02精华.
.Oracle中应用Export的一个问题.
.Oracle在Linux操作系统下的安装小.
.讲解删除部分控制文件后的数据库.
..NET调用Oracle存储过程,使用数.
.Oracle数据库全文索引查询模板的.
.[Oracle]大数据类型的操作之CLOB.
.配置Oracle Enterprise Manager过.
.关于Oracle10g跨平台传输表空间.
.Oracle的SQL*PLUS命令的使用大全.
.Oracle 8 的函数介绍.
.一般应用程序的oracle配置.
.Oracle9i 数据库管理实务讲座(三.

ORACLE 应用经验(1)

发表日期:2008-2-9



  作者: 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, MAXIMIZEMINIMIZE);
  --WINDOW标题
  Set_Window_Property(FORMS_MDI_WINDOW, title,'TEXT');
  --退出是否为真
  Set_Window_Property(FORMS_MDI_WINDOW, REMOVE_ON_EXIT,PROPERTY_FALSETRUE);
  ---设置系统提示信息等级
  :System.Message_Level:= '5101520';
  ---设置ITEM属性
  --设置ITEM属性ENABLED
  Set_Item_Property('Block_name.Item_name',ENABLED,PROPERTY_TRUEFALSE);
  --设置ITEM属性NAVIGABLE
  Set_Item_Property('Block_name.Item_name',NAVIGABLE,PROPERTY_TRUEFALSE);
  --设置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,TRUEFALSE);
  --设置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, REPEATNO_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)
  UPPERLOWERINITCAP(STRING)
  ---在文件的左('LPAD')右('RPAD')粘贴字符
  LPADRPAD(STRING,LENGTH,'SET') "LENGTH"为总字符长"SET"为粘贴字符
  ---在文件的左('LTRIM')右('RTRIM')删除字符
  LTRIMRTRIM(SRTING,'SET') "SET"为待删除字符
  ---找出'字符集'在字符串中的位置
  INSTR('STRING','SET',N,M) 从'STRING'中找出'SET'从'N'位起第'M'个
  ---数的绝对值
  ABS(VALUE)
  ---'MOD'模
  MOD(VALUE,除数) 返回'除数'除'VALUE'的余数常用判定'VALUE'是否为整数
  ---把'VALUE'从'N'位四舍五入'ROUND' 或从'N'位截断'TRUNC'
  ROUNDTRUNC(VALUE,N)
  ---返回'VALUE'的符号
  SIGN(VALUE)
  
  ---列表的最大值
  GREATEST(N1,N1...);

  列表的最小值
  LEAST(N1,N1...);
  ---返回小于或等于数的最大整数
  FLOOR(VALUE) floor(1.3)=1 floor(-1.3)=-2
  ---返回大于或等于数的最小整数
  CEIL(VALUE) cell (1.3)=2 cell (-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')
  GREATESTLEAST(列名,列名,...)
  ---按表达式或位置排序
  ORDER BY '表达式'OR'位置' ASCDESC ASC'升',DESC'降' 默认'ASC'
  ***********************************************************************
  ***********************************************************************
  ---游标的属性
  (1) %ISOPEN 打开属性 布尔型 打开为TRUE
  判定'光标'是否打开如未打开则打开'光标'
  IF NOT(CORSOR_NAME%ISOPEN) THEN
  OPEN CORSOR_NAME;
  END IF;
  FETCH
上一篇:测试ORACEL的文本文件导入导出 人气:1014
下一篇:制作自己的Floppy-Linux Step By Step 人气:608
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐