随笔分类 -  EBS - Oracle & PL/SQL

摘要:ORA-01830: 日期格式图片在转换整个输入字符串之前结束调试报表时遇到的错误:ORA-01830: 日期格式图片在转换整个输入字符串之前结束从下面的例子就可以很容易的分析出这个错误的所在:SELECT TO_DATE('2007/04/01 13:30:01','YYYY-MM-DD') A FROM dual;SELECT TO_DATE(SUBSTR('2007/04/01 13:30:01',1,10),'YYYY/MM/DD') B FROM dual;SELECT SUBSTR('2007/04/01 13 阅读全文
posted @ 2012-09-02 14:11 郭振斌 阅读(4637) 评论(0) 推荐(0)
摘要:如果SELECT语句中有使用Alias,DISTINCToperator,CURSORexpression,SET(union,union all,minus,intersect)operators,group_by_clause, oraggregate(count,max,mix,avg)functions,则无法到查询返回值进行更新;eg:TABLE:empid name salary==========================10 aaaa 123413 abcd 231315 cdue 1245... ... ...case 1> 使用别名;select id emp_ 阅读全文
posted @ 2012-07-07 00:51 郭振斌 阅读(1257) 评论(0) 推荐(0)
摘要:转摘我现在有两张表.A与BA的字段有id,name,pwd...B的字段有userid,password现在我想把A中pwd更新成B中的password(A中的id与B中的userid都是相对应于学生的ID),SQL语句应该怎么写呢??update A set pwd = (select password from B where userid = A.id);这样写逻辑有问题的,, 如果对应的记录在B表中不存在,,会被更新成null的..1. update A set pwd = (select password from B where userid = A.id); where id.. 阅读全文
posted @ 2012-06-26 16:02 郭振斌 阅读(926) 评论(0) 推荐(0)
摘要:来自:http://blogs.oracle.com/xmlpublisher/2010/03/multisheet_excel_output.html参考:http://msdn.microsoft.com/en-us/library/aa140066(office.10).aspx#odc_xmlss_ss:workbookAs many of you know BIP can generate Excel output from RTF template. However, being able to generate a multi-sheet Excel output is a b. 阅读全文
posted @ 2012-03-18 13:12 郭振斌 阅读(971) 评论(0) 推荐(0)
摘要:PROCEDUREprc_do_import_set(prm_orgINNUMBER, prm_appcodeOUTNUMBER, prm_appmsgOUTVARCHAR2)IScustom_exceptionEXCEPTION; successBOOLEAN; v_request_idNUMBER; v_phaseVARCHAR2(30); v_statusVARCHAR2(30); v_dev_phaseVARCHAR2(30); v_dev_statusVARCHAR2(30); v_messageVARCHAR2(1000); v_request_flagBOOLEAN; v_sta 阅读全文
posted @ 2012-02-29 16:00 郭振斌 阅读(1736) 评论(0) 推荐(0)
摘要:goal: How to control transaction inOracle Forms ?fact: Oracle Forms Developerfact: DEV2Kfix:Using rollback and savepoint commands to control transaction in Oracle Forms should be avoided from the following reasons.- Savepoints are a crucial part of an Oracle transaction- And they are especially impo 阅读全文
posted @ 2012-02-06 13:57 郭振斌 阅读(2518) 评论(0) 推荐(0)
摘要:--获取服务器字符集 SELECTVALUEINTOV_DB_NLS_CHARACTERSETFROMNLS_DATABASE_PARAMETERSWHEREPARAMETER='NLS_CHARACTERSET'查看当前数据库的时间格式select * from v$nls_parameters; SELECT parameter,value FROM nls_database_parameters;select * from v$parameter 阅读全文
posted @ 2011-11-21 21:39 郭振斌 阅读(455) 评论(0) 推荐(0)
摘要:SELECT*FROM(SELECT'张三'NAMEFROMDUALUNIONALLSELECT'李四'NAMEFROMDUALUNIONALLSELECT'王五'NAMEFROMDUAL)ORDERBYNLSSORT(NAME,'NLS_SORT=SCHINESE_PINYIN_M');第一个参数是需要排序的字段。第二个参数值可选下列字符串SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序SCHINESE_PINYIN_M 阅读全文
posted @ 2011-11-21 21:36 郭振斌 阅读(901) 评论(0) 推荐(0)
摘要:主要实现思路: 1、声明一个纪录,用来存储导出的数据; 2、使用游标取数据到纪录中; 3、使用utl_file将纪录中的数据写入excel文件; 4、循环执行步骤2和3,完成数据的导出。 做的过程中主要遇到的问题: 1、excle文件中写数据如何写入下一列; 使用TAB字符完成excel中横向跳格,excel中TAB字符表示单元格的结尾,其中使用了chr()函数,应用举例如下: select U.USER_NAME||chr(9),U.ACCOUNT||chr(9) from USER U 例句1 例句1作为游标的主体,取出的数据每项都包含一个TAB字符,使用utl_file.put()往e. 阅读全文
posted @ 2011-11-21 11:33 郭振斌 阅读(2874) 评论(0) 推荐(0)
摘要:原型:fnd_global.apps_initialize(user_ID, Responsibility_id, Responsibility_application_id);作用:在数据库的会话中设置全局变量,和用户概要信息。参数获得: 参数一,用户ID select user_id from fnd_user where user_name like '%OPERATIONS%'; -- ID of OPERATIONS:1318 参数二,职责编号(responsibility id) select RESPONSIBILITY_ID, APPLICATION_ID, R 阅读全文
posted @ 2011-11-17 16:50 郭振斌 阅读(4256) 评论(0) 推荐(0)
摘要:SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL;1. Oracle无法识别中文格式,所以添加双引号。2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。 阅读全文
posted @ 2011-11-14 17:05 郭振斌 阅读(8156) 评论(2) 推荐(2)
摘要:邮件通知预警和提示在当前系统中已经是一个比较常见的功能。各类型语言分别针对邮件提供了功能包和API接口方法,本篇介绍如何在PL/SQL代码中使用UTL_MAIL工具包发送邮件,同时还介绍配置中注意的细节要点。1、安装UTL_MAIL包UTL_MAIL是在Oracle10g推出的新邮件发送开发包。之前Oracle 8i开始,支持使用utl_smtp包进行RFC所定义的简单邮件传输协议(SMTP)。使用UTL_MAIL要简单与传统方式,免除很多额外工作。默认情况下,UTL_MAIL工具包是没有安装到Oracle程序包中的,如果需要使用需要额外进行安装。安装的方法是在sys用户下,调用$ORACLE 阅读全文
posted @ 2011-10-21 09:26 郭振斌 阅读(1885) 评论(0) 推荐(0)
摘要:SELECT TRUNC(SYSDATE, 'MM') + ROWNUM - 1 FROM DUALCONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE), 'dd')) 阅读全文
posted @ 2011-10-08 13:49 郭振斌 阅读(606) 评论(0) 推荐(0)
摘要:在代码里头尽量别用&符号,程序交付给DBA的时候,他在SQL Plus中编译时候,会出现异常变量。 阅读全文
posted @ 2011-09-21 09:29 郭振斌 阅读(488) 评论(0) 推荐(0)
摘要:FND_CONCURRENT.SET_COMPLETION_STATUS (服务器端函数) 语法:FUNCTION fnd_concurrent.set_completion_status(status IN VARCHAR2, message IN VARCHAR2) RETURN BOOLEAN;说明:在并发程序内调用用来设置并发程序的状态及消息。如果设置成功则返回TURE,否则返回FALSE。输入参数说明:status 要设置的并发程序的状态,为NORMAL, WARNING, 或者 ERRORmessage 可选参数,设置消息------------------------------ 阅读全文
posted @ 2011-09-14 10:55 郭振斌 阅读(1118) 评论(0) 推荐(0)
摘要:PLSQL 实现split: FUNCTIONGet_Field_Value(in_strINVARCHAR2,findstrINVARCHAR2,fieldININTEGER)RETURNVARCHAR2AStmp_msgVARCHAR2(20);--取字段值,fieldstartfrom0startidxINTEGER;endidxINTEGER;BEGINstartidx:=1;endidx:=1;FORiIN1..fieldLOOP--INSTR(in_string,'|',tmp_pos);--substr(in_string,tmp_pos,tmp_pos1-tmp 阅读全文
posted @ 2011-09-09 09:32 郭振斌 阅读(3353) 评论(0) 推荐(0)
摘要:EBS环境:11.5.10errbuf,retcode要放在最前面,要不提交请求可能会出现意外情况。 CREATE OR REPLACE PROCEDURE XXSKE_AUTO_TRX_OVERDUE_MTL( p_email IN VARCHAR2, errbuf OUT VARCHAR2, retcode OUT VARCHAR2)+---------------------------------------------------------------------------+**Starts**01-SEP-2011 02:57:42**Ends**01-SEP-20... 阅读全文
posted @ 2011-09-01 12:19 郭振斌 阅读(1622) 评论(0) 推荐(0)
摘要:已知需求:kmb结构:as_code varchar2(21),as_name varchar2(30)样例数据:(as_code列的编码是规则的,即3-3-3-3)as_code as_name501 经费支出501001 商品服务支出501001001 办公费501001001001 其他杂项支出pzb结构:as_code varchar2(21),full_name varchar2(200)样例数据as_code as_name501501001501001001501001001001现编写sql实现如下功能:更新pzb的as_name列,使名称按全称显示即:as_code full 阅读全文
posted @ 2011-08-29 13:41 郭振斌 阅读(572) 评论(0) 推荐(0)
摘要:案例:要写一个视图,类似"createorreplaceviewasselect字段1,...字段50 fromtablename",基表有50多个字段,要是靠手工写太麻烦了,有没有什么简便的方法? 应用wm_concat来让这个需求变简单。SELECT'createorreplaceviewasselect'||wm_concat(column_name)||'fromdept'FROMuser_tab_columnsWHEREtable_name='DEPT'; 阅读全文
posted @ 2011-08-29 13:28 郭振斌 阅读(3087) 评论(0) 推荐(0)
摘要:平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据流的时候,能否使用管道提高处理效率? 管道函数对于改善并行查询的性能非常方便,它加快往表中加载数据的速度。管道函数的使用总结如下两点: 每当在查询里使用PL/SQL函数时,该查询将被序列化,即一个处理器只能运行一个查询实例,那么在这种情况下不可能使用并行查询(比如在数据仓库中要经常使用这项技术)。因此,为了使用并行查询就必须使用管道函数,这样也就加快了执行的速度。 管道函数的输入参数必须是一个引用记录集类型(即ref cursor),而返... 阅读全文
posted @ 2011-08-25 09:10 郭振斌 阅读(1444) 评论(0) 推荐(0)