摘要:
有两个简单例子,以说明 "exists"和"in"的效率问题1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。2) select * from T1 where T1.a in (select T2.a from T2) ; T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。exists 用法:第(1)句理解其含义:其中 “select 1 from 阅读全文
摘要:
在EBS中手电筒的运用是很平常的事了,但是在写代码的过程中有一句代码::parameter.G_query_find 很是让人朦胧。其实参数:parameter.G_query_find的作用是决定查询范围的一个开关。当:parameter.G_query_find:= 'TRUE'时,系统会根据我们在触发器 pre-query 中所定义的条件去查询。当:parameter.G_query_find:= 'FALSE'时,系统就会跳过查询条件,进而查询出全部记录。理解这个原理就明白手电筒使用过程中的触发器顺序和这个参数的作用。操作 触发器 相关代码 ... 阅读全文
摘要:
1. COMMIT_FORM先针对form上面的数据变动进行commit,然后对于代码中的类似DML语句也进行提交;如果form上面的数据变动和代码中的数据变动有冲突,最后以FORM上的为准。适用:一般来在直接修改FORM上的数据,就使用commit_form。2.COMMIT对form和数据库进行提交。如果form上面的数据和代码中的数据变动有冲突,最后以FORM上的为准。适用:一般来在直接使用DML代码修改数据时,就使用commit。3. DO_KEY('COMMIT_FORM')它会首先寻找form下的triggers中的KEY-COMMIT触发器,并执行KEY-COMM 阅读全文