动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
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的诊断事件.
.Client端不安裝Oracle而用PowerB.
.Borland C++ Builder 5 企业版使.
.Oracle9i新特性-使用DBMS_METADA.
.ORACLE中一些问题的解决方法.
.Oracle中spfile和pfile之间区别和.
.轻轻松松教Linux(上)--软体启动.
.被关在SQL外面破解SA的密码的方法.
.Oracle9i开机自启.
.Oracle数据库10gR2中stream多源复.
.改变优化参数来适应库缓冲区中SQ.
.关于Oracle服务器性能全面调整攻.
.Oracle PL/SQL Profiler应用指南.
.Oracle数据字典与动态性能表的相.
.如何查看什么时间有哪些数据库对.
.Oracle9i初始化参数中文说明(15).
.讲解exp时对密码中含“)”的处理.
.Oracle的实体化视图管理.
.关于冷备份与热备份的对比.
.Oracle 10g 中关于 SQL*Plus 的改.

推荐:学习使用 Oracle触发器心得体会

发表日期:2008-2-9 |


实在对象如表格、Sequence、索引等建在本应用对应的用户表空间中,其他对象如视图、别名创建在Apps下,常见错误是新手把表建在APPS下,以后又来建别名,这个时候删除别名时会报对象不存在,而建别名的时候又报对象已存在。 假如把脚本保存在文件里面,注重一个块比如一个创建视图的语句不要有空行,否则会出现如下情况:把语句拷贝到SQL Window能正常运行,用@执行文件却报错。 假如要执行execute_query,注重要go_block到适当的Block,但是go_block是个受限过程,并不一定都能成功 Master-detail关系:
block both are database block each block has one item based on database displayed
在PL/SQL Develop中没有环境变量,所以假如要查询多组织的View,需要先执行设置环境变量函数:
BEGIN fnd_client_info.set_org_context('83'); END;
GLOBAL变量对于所有form有效(可能是同一个应用,这个尚未验证),而不仅仅是你所开发的form变量比如Global和Parameter的初始化应该在pre-form里面,在when-new-form-instance里面初始化不行,因为when-new-form-instance是在进入第一个导航块的第一个item之后才促发的没有属性指名Block的记录数,不过可以通过GET_BLOCK_PROPERTY(QUERY_HITS) 取得查询到的记录数hide_view并没有真正hide一个画布,只是放到最下层,所以假如上层的画布没有完全覆盖下层画布,下层的画布很可能用户还看得到;show_view则是把画布放在最上层。 lov验证的时候是验证第一个可见的列,并且会把其他的返回值返回给各个Item,而不是仅仅验证而已lov的查询一般是针对第一列,但是假如我们把%放在最前面,则可以查询所有列。 用Execute_query执行查询的时候,会把Copy Value From Item里面的那个Item的值自动作为查询条件。当创建记录的时候也会直接用该值初始化,而且不改变记录的状态。在更新记录的时候不知道会不会Copy过来尚未验证。Get_Item_property的时候用ENFORCE_KEY属性,但不能Set。该属性在Master-detail设置的时候自动创建,删除的时候自动删除。假如不希望Copy Value From Item影响查询结果,可以在Pre-Query里面把Item的值设为null。 app_query.reset('block_name');假如第一次调用,会把当前的DEFAULT_WHERE,然后什么都不做,以后再来调用的时候则会把第一次设置的DEFAULT_WHERE用set_block_property('SAA_HEADERS',DEFAULT_WHERE,...)设置回来,具体请参考app_core库。 When-create-record的时候给Item赋值不改变记录状态。Sequence,假如我们在Item的Initial Value里面赋值,那么假如用户Focus To新记录,又回到老记录,如此反复,Sequence会不断变大的。 SQL Order BY的时候null值排在最后,这个一般不符合实际要求,可以这样解决ORDER BY nvl(Geography_Code,chr(0))解决。 Trigger顺序1:
pre-commit 块1的pre-insert,on-insert,post-insert 块2的pre-insert,on-insert,post-insert ... post-forms-commit
Trigger顺序2: when-list-changed在前,Validation item在后,因为Validation item是在要离开这个item的时候才促发的。 Trigger顺序3:
pre-form/when-create-record/pre-block/ when-new-forms-instance/when-validate-record/on-insert/post-forms
当定位到主块的一个记录,会促发子块的when-clear-record事件和when-create-record事件,问题是假如主块的是新记录(未保存),在子块的when-create-record里面取主块的任何东西,居然是主块的上一次获得焦点的记录的东西;连用取块的当前记录也是上一次获得焦点的记录。 Trigger顺序4: post-changed在when-validate-item之前。所有的when-validate事件是当forms自己验证通过之后才促发的。 禁用Clear功能可以通过在Form的key-clrblk里面调用app_exception.disabled,其实只是用Bell覆盖默认的执行。 直接放在TAB Page上的Item,和放在堆叠画布上的Item在设计时是无法“所见即所得”,所以建议把所有的Item根据需要放在不同的堆叠画布上再堆到TAB Page上伪列Rownum在排序之前就已经决定,假如想得到排序后的Rownum,应当在嵌套一个Select语句;另外Where语句中的rownum只能用<或者<=,不能有>或者>=。 在SQL中用Over的时候,假如整个语句没有Order by语句,最后的结果还是会排序的,规则是先按Over里面的Partition排序,在按Over里面的Order by排序。原因可能和分析函数的处理顺序有关(8ifunctions.pdf有具体介绍):先查询到数据(Join/Where/Group By/Having),再运算分析函数(先分区,然后排序,再算Slide Windows,最后计算),最后是Order By。另外,一个疑问:我测试到的一个结果Group By似乎无法影响Partition,可是按照8ifunctions.pdf的说法,应该先执行Group By的,是不是因为Group By只是在第一阶段的处理时作用在集合函数上,之后进入第二阶段的处理就没用了。 同事在装8i的时候,连安装界面都没出来,而我机器可以装,后来才知道原来他的机器是P4,无法正常安装。 实际执行的Where条件,是我们设置DEFAULT_WHERE,再加上通过赋过值的Item。 注重:APP_FIND.query_range已经重载过,我们调用的时候可以不区分query_number_range或者query_date_range;观察其代码,发现也是通过给Item赋值来影响查询的,只不过是赋值的时候,可能是加上 # between,# >=或# <=;这样导致的一个结果是:Date类型的Item长度默认是11,被query_range这样一搞,长度根本不够,于是就导致诸如where REQUEST_DATE >= to_dat的错误,所以记得把字段长度加长,比如1000;总的来说,碰到From to的要小心长度。 当修改子类的时候,会自动更改很多属性,非凡是Required,一定要注重。 当对块进行刷新时,会修改很多Item的属性,别以为你设置过了,Oracle就会记住。我碰到的情况是Insert Allowed等被自动改掉了!即使我的子类设置为Text_Item_Display_Only。 两个变量,假如都为Null,判定还是不相等,所以必须用 a1 is null and a2 is null。所以在On-lock里面的if条件,我们可以把所以不可以为空的字段都写成答应为空的形式。 一般来说,系统变量是很好用的。然而有时候并非如此,比如Current_Record,get_block_property('blockname',Current_Record)的结果并非总是一样的,后者更加保险!非凡是刚打开Form的时候,在WHEN-NEW-RECORD-INSTANCE里面,前者是0,后者是1。 ''''表示一个单引号,''''''表示两个单引号。应该是这样理解,一个单引号表示转义字符,首尾两个单引号里面的内容表示字符串。 重启Application:
cd $APPLCSF cd scripts cd PROD ./adstpall.sh apps/apps ./adstrtal.sh apps/apps
Trigger顺序5: post-query,只有在界面可见的记录才会促发,记录从不可见变为可见时促发,促发过的记录不再促发; 保存的时候会引发Post Item/Record/Block事件,因为要Navigate到Form。 数据库org_id初始值to_number(decode(substrb(userenv('CLIENT_INFO'),1,1),' ',null,substrb(userenv('CLIENT_INFO'),1,10)))。 给非数据库Item赋值;new记录会变成insert(所以就不能按F11了);query/changed记录不变;new块会变成query;query/changed块不变。 对On-lock的理解,由于先入为主的缘故,开始一直很苦恼,为什么If里面只用了一个Return,Form怎么知道要锁否?后来才知道On类型的数据库触发器是替换型的,On-lock也不例外,所以只要On-lock不Raise什么东西出来,Form就认为是锁成功了,至于实际的锁,我们有Select……For Update来完成,至于If判定只是进行更加严格的判定。 对Find的理解,开始也很纳闷,为什么在Pre-query里面直接给Item赋值就可,不用自己拼语句,现在也逐渐发现里面大有文章。回想F11,这个时候的block其实是处于Enter-query状态,输入的东西Form会自动拼成Where语句(当然还要加上原来的default where,假如有Copy from item,也要加上),对于每个Item上输入的值,一般是用 = ,假如有,就解析为like,假如有#,则把后边的表达式(比如between,甚至是子查询)直接作为条件;而当form内部执行堆栈Navigate到Pre-query时,block也是处于Enter-query状态,道理和F11一样,我们只管按业务查询要求对Item赋值,剩下的就交给Form去处理了;需要注重的是当处于enter-query状态的block,是使用query length属性来限制输入的数据长度,而不是通常的maximum lengh,只不过query length默认是0,即等于maximum lengh,所以会出现当用app_find.query_range时长度不够的情况。

上一篇:六步搞定 Oracle 透明网关环境的建立 人气:586
下一篇:不要忽视Oracle 10g STATSPACK新功能 人气:507
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成