- 浏览: 688726 次
- 性别:
- 来自: 中山
-
文章分类
最新评论
-
wuhuizhong:
jFinal支持Rest风格吗?可以想spring mvc那样 ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
在jfinal中应如何获取前端ajax提交的Json数据?ht ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
jfinal如何处理json请求的数据:问题: 在某些api接 ...
在JFinal的Controller中接收json数据 -
wuhuizhong:
Ubuntu14.04 安装 Oracle 11g R2 Ex ...
Oracle 11g release 2 XE on Ubuntu 14.04 -
alanljj:
这个很实用,已成功更新,谢过了!
odoo薪酬管理模块l10n_cn_hr_payroll
CREATE OR REPLACE PACKAGE p -- Adapted from PL/Vision library copyright 2002 Quest Software Inc. IS c_linelen CONSTANT PLS_INTEGER := 80; -- Set line length before wrap PROCEDURE set_linelen (len IN PLS_INTEGER := c_linelen); FUNCTION linelen RETURN PLS_INTEGER; PROCEDURE l (dt IN DATE, mask_in IN VARCHAR2 := NULL); PROCEDURE l (num IN NUMBER); PROCEDURE l (stg IN VARCHAR2); PROCEDURE l (stg IN VARCHAR2, num IN NUMBER); PROCEDURE l (stg IN VARCHAR2, dt IN DATE, mask_in IN VARCHAR2 := NULL); PROCEDURE l (bool IN BOOLEAN); PROCEDURE l (stg IN VARCHAR2, bool IN BOOLEAN); PROCEDURE l (file_in IN UTL_FILE.file_type); PROCEDURE l (string_in IN VARCHAR2, file_in IN UTL_FILE.file_type); PROCEDURE l (num1 IN NUMBER, num2 IN NUMBER); PROCEDURE l (str IN VARCHAR2, num1 IN NUMBER, num2 IN NUMBER); PROCEDURE l (bool1 IN BOOLEAN, bool2 IN BOOLEAN); PROCEDURE l (stg1 IN VARCHAR2, stg2 IN VARCHAR2); PROCEDURE l (dt1 IN DATE, dt2 IN DATE, mask_in IN VARCHAR2 := NULL); PROCEDURE l (num IN NUMBER, dt IN DATE, mask_in IN VARCHAR2 := NULL); PROCEDURE l (bool IN BOOLEAN, num IN NUMBER); PROCEDURE l (bool IN BOOLEAN, dt IN DATE, mask_in IN VARCHAR2 := NULL); PROCEDURE l (bool IN BOOLEAN, stg IN VARCHAR2); PROCEDURE l (xml_in IN XMLTYPE); PROCEDURE l (clob_in IN CLOB); END p; / CREATE OR REPLACE PACKAGE BODY p IS c_max_dopl_line PLS_INTEGER := 255; c_delim CONSTANT CHAR (3) := ' - '; v_linelen PLS_INTEGER := c_linelen; -- Insertion of code from PLVprs package, PL/Vision library copyright 2002 Quest Software Inc. c_delimiters CONSTANT VARCHAR2 (100) := '!@%^&*()-=+\|`~{[]};:''",<.>/? ' || CHR (10) || CHR (9); TYPE wrap_aat IS TABLE OF VARCHAR2 (32767) INDEX BY BINARY_INTEGER; FUNCTION a_delimiter ( character_in IN VARCHAR2 , delimiters_in IN VARCHAR2 , one_delimiter_in IN BOOLEAN := FALSE ) RETURN BOOLEAN IS retval BOOLEAN := character_in IS NOT NULL; BEGIN IF retval THEN IF one_delimiter_in THEN retval := delimiters_in = character_in; ELSE retval := INSTR (delimiters_in, character_in) > 0; END IF; END IF; RETURN retval; END; FUNCTION next_atom_loc ( string_in IN VARCHAR2 , start_loc_in IN NUMBER , direction_in IN NUMBER , delimiters_in IN VARCHAR2 ) RETURN INTEGER IS was_a_delimiter BOOLEAN := a_delimiter (SUBSTR (string_in, start_loc_in, 1), delimiters_in); was_a_word BOOLEAN := NOT was_a_delimiter; next_char VARCHAR2 (1); return_value NUMBER := start_loc_in + direction_in; BEGIN LOOP next_char := SUBSTR (string_in, return_value, 1); EXIT WHEN /* On a delimiter, since that is always an atomic */ a_delimiter (next_char, delimiters_in) OR /* Was a delimiter, but am now in a word. */ ( was_a_delimiter AND NOT a_delimiter (next_char, delimiters_in) ) OR /* Reached end of string scanning forward. */ next_char IS NULL OR /* Reached beginning of string scanning backward. */ return_value < 0; /* Shift return_value to move the next character. */ return_value := return_value + direction_in; END LOOP; RETURN GREATEST (return_value, 0); END next_atom_loc; PROCEDURE wrap_string ( text_in IN VARCHAR2 , list_inout IN OUT wrap_aat , line_length_in IN INTEGER DEFAULT 255 , keep_linebreaks_in IN BOOLEAN DEFAULT FALSE , delimiters_in IN VARCHAR2 DEFAULT c_delimiters ) IS v_text VARCHAR2 (32767); len_text INTEGER; start_loc INTEGER := 1; end_loc INTEGER := 1; cr_loc INTEGER; last_space_loc INTEGER; curr_line VARCHAR2 (32767); break_on_newline BOOLEAN := FALSE; BEGIN IF LTRIM (text_in) IS NOT NULL THEN IF NOT keep_linebreaks_in THEN v_text := REPLACE (text_in, CHR (10), ' '); ELSE v_text := text_in; END IF; len_text := LENGTH (v_text); LOOP EXIT WHEN end_loc > len_text; end_loc := LEAST (end_loc + line_length_in, len_text + 1); IF keep_linebreaks_in THEN cr_loc := INSTR (text_in, CHR (10), start_loc); break_on_newline := cr_loc > 0 AND end_loc > cr_loc; END IF; /* Get the next possible line of text */ IF break_on_newline THEN list_inout (list_inout.COUNT + 1) := SUBSTR (v_text, start_loc, cr_loc - start_loc); --PLVstr.betwn (v_text, start_loc, cr_loc-1); end_loc := cr_loc + 1; break_on_newline := FALSE; ELSE curr_line := SUBSTR (v_text || ' ', start_loc, line_length_in + 1); last_space_loc := next_atom_loc (curr_line , LENGTH (curr_line) , -1 -- backwards , delimiters_in ); IF last_space_loc > 0 THEN end_loc := start_loc + last_space_loc; END IF; /* Add this line to the paragraph */ list_inout (list_inout.COUNT + 1) := SUBSTR (v_text, start_loc, end_loc - start_loc); END IF; start_loc := end_loc; END LOOP; END IF; END wrap_string; -- Core p package functionality FUNCTION boolstg (val IN BOOLEAN) RETURN VARCHAR2 IS BEGIN IF val THEN RETURN 'TRUE'; ELSIF NOT val THEN RETURN 'FALSE'; ELSE RETURN 'NULL'; END IF; END boolstg; FUNCTION datestg (val IN DATE, MASK IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2 IS BEGIN IF MASK IS NULL THEN RETURN TO_CHAR (val); ELSE RETURN TO_CHAR (val, MASK); END IF; END datestg; PROCEDURE put_line (str IN VARCHAR2) IS v_len PLS_INTEGER := linelen; v_len2 PLS_INTEGER; v_chr10 PLS_INTEGER; v_str VARCHAR2 (2000); BEGIN IF LENGTH (str) > linelen THEN v_chr10 := INSTR (str, CHR (10)); IF v_chr10 > 0 AND linelen >= v_chr10 THEN v_len := v_chr10 - 1; v_len2 := v_chr10 + 1; ELSE v_len2 := v_len + 1; END IF; v_str := SUBSTR (str, 1, v_len); DBMS_OUTPUT.put_line (v_str); put_line (SUBSTR (str, v_len2)); ELSE v_str := str; DBMS_OUTPUT.put_line (str); END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.ENABLE (1000000); DBMS_OUTPUT.put_line (v_str); END; PROCEDURE display_line (line_in IN VARCHAR2) IS l_lines wrap_aat; l_row PLS_INTEGER; BEGIN IF LENGTH (line_in) > linelen THEN wrap_string (line_in , l_lines , linelen - 2 , keep_linebreaks_in => TRUE ); l_row := l_lines.FIRST; WHILE (l_row IS NOT NULL) LOOP l (l_lines (l_row)); l_row := l_lines.NEXT (l_row); END LOOP; ELSE put_line (line_in); END IF; END display_line; -- Set line length before wrap PROCEDURE set_linelen (len IN PLS_INTEGER := c_linelen) IS BEGIN v_linelen := LEAST (c_max_dopl_line, GREATEST (NVL (len, c_linelen), 1)); END; FUNCTION linelen RETURN PLS_INTEGER IS BEGIN RETURN v_linelen; END; -------------------- The p.l Procedures ---------------- PROCEDURE l (dt IN DATE, mask_in IN VARCHAR2 := NULL) IS BEGIN display_line (datestg (dt, mask_in)); END; PROCEDURE l (num IN NUMBER) IS BEGIN display_line (TO_CHAR (num)); END; PROCEDURE l (stg IN VARCHAR2) IS BEGIN display_line (stg); END; PROCEDURE l (stg IN VARCHAR2, num IN NUMBER) IS BEGIN display_line (stg || c_delim || TO_CHAR (num)); END; PROCEDURE l (stg IN VARCHAR2, dt IN DATE, mask_in IN VARCHAR2 := NULL) IS BEGIN display_line (stg || c_delim || datestg (dt, mask_in)); END; PROCEDURE l (bool IN BOOLEAN) IS BEGIN display_line (boolstg (bool)); END; PROCEDURE l (stg IN VARCHAR2, bool IN BOOLEAN) IS BEGIN display_line (stg || c_delim || boolstg (bool)); END; PROCEDURE l (file_in IN UTL_FILE.file_type) IS BEGIN display_line (TO_CHAR (file_in.ID)); END; PROCEDURE l (string_in IN VARCHAR2, file_in IN UTL_FILE.file_type) IS BEGIN l (string_in, file_in.ID); END; -- Additional overloadings PROCEDURE l (num1 IN NUMBER, num2 IN NUMBER) IS BEGIN display_line (TO_CHAR (num1) || c_delim || TO_CHAR (num2)); END; PROCEDURE l (str IN VARCHAR2, num1 IN NUMBER, num2 IN NUMBER) IS BEGIN display_line (str || c_delim || TO_CHAR (num1) || c_delim || TO_CHAR (num2) ); END; PROCEDURE l (bool1 IN BOOLEAN, bool2 IN BOOLEAN) IS BEGIN display_line (boolstg (bool1) || c_delim || boolstg (bool2)); END; PROCEDURE l (stg1 IN VARCHAR2, stg2 IN VARCHAR2) IS BEGIN display_line (stg1 || c_delim || stg2); END; PROCEDURE l (dt1 IN DATE, dt2 IN DATE, mask_in IN VARCHAR2 := NULL) IS BEGIN display_line (datestg (dt1, mask_in) || c_delim || datestg (dt2, mask_in) ); END; PROCEDURE l (num IN NUMBER, dt IN DATE, mask_in IN VARCHAR2 := NULL) IS BEGIN display_line (TO_CHAR (num) || c_delim || datestg (dt, mask_in)); END; PROCEDURE l (bool IN BOOLEAN, num IN NUMBER) IS BEGIN display_line (boolstg (bool) || c_delim || TO_CHAR (num)); END; PROCEDURE l (bool IN BOOLEAN, dt IN DATE, mask_in IN VARCHAR2 := NULL) IS BEGIN display_line (boolstg (bool) || c_delim || datestg (dt, mask_in)); END; PROCEDURE l (bool IN BOOLEAN, stg IN VARCHAR2) IS BEGIN display_line (stg || c_delim || boolstg (bool)); END; PROCEDURE l (xml_in IN XMLTYPE) IS BEGIN p.l (xml_in.getstringval ()); END; PROCEDURE l (clob_in IN CLOB) IS buffer VARCHAR2 (32767); amount BINARY_INTEGER; POSITION PLS_INTEGER := 1; BEGIN LOOP amount := linelen; DBMS_LOB.READ (clob_in, amount, POSITION, buffer); -- Display the buffer contents: p.l (buffer); POSITION := POSITION + amount; END LOOP; EXCEPTION WHEN NO_DATA_FOUND OR VALUE_ERROR THEN NULL; END; END p; /
发表评论
-
用函数unistr将Oracle数据库中的Unicode转换为中文
2016-07-19 11:51 7962例子: DECLARE V_EXT_DES V ... -
ORACLE APPLICATION EXPRESS 5.0 升级
2016-05-12 11:43 605Oracle11GR2 XE 缺省是安装了oracle ap ... -
Oracle ACL(Access Control List)
2016-05-12 11:36 917在oralce 11g中假如你想获取server的ip或者h ... -
了解systemstate dump
2016-04-26 14:09 507当数据库出现严重的性能问题或者hang了的时候,我们非常需要 ... -
通过ORACLE的UTL_HTTP工具包发送包含POST参数的请求
2016-03-18 16:25 5187DECLARE req utl_http. ... -
Shell: extract more from listener.log(分析监听日志)
2016-03-16 14:57 1181统计一天内每小时的session请求数 # fgrep ... -
ORA-01031: insufficient privileges 问题解决笔记
2016-02-01 15:53 1207A) File $Oracle_HOME/network/a ... -
listener.log中报Warning: Subscription For Node Down Event Still Pending问题的解决方法
2016-01-07 16:34 1651一套Oracle 10.2.0.1 for aix的数据库环 ... -
Oracle触发器和MySQL触发器之间的区别
2015-11-19 12:55 704Oracle触发器格式: CREATE [OR RE ... -
查询正在执行的存储过程
2015-11-13 09:27 20771、找正在执行的PROCEDURE的 sid ,serial# ... -
undo表空间损坏的处理过程
2015-10-14 13:49 1240磁碟陣列故障,分區/rman上包括undo和archivel ... -
登录oracle资料库时很久无反应的问题处理一例
2015-10-11 10:56 1012原因是系统存在僵死的进程,促使session处于激活状态.首 ... -
TNS-12560问题解决
2015-10-01 19:52 631tnsping远程主机实例出现TNS-12560: TNS ... -
查看undo中sql语句的占用情况
2015-08-06 17:18 1798查看undo中sql语句的占用情况 select * ... -
Install Open System Architect And ODBC Instant Client
2015-05-21 14:03 767How to Install Open System Arc ... -
恢复oracle中用pl sql误删除drop掉的表
2015-04-03 16:12 576查看回收站中表 select object_name,or ... -
在Oracle Linux 6.6上安装Oracle 10gR2
2015-01-15 15:36 2724查看硬體配置 # df -h Filesystem ... -
kill
2015-01-03 11:36 479--根据某一对象查询进程 col owner fo ... -
Oracle 数据库Storage存储迁移笔记
2014-12-27 11:08 10031.确认数据文件、控制文件、临时文件、日志文件 位置 / ... -
異地備份資料庫的開啟步驟
2014-11-19 14:03 507使用EMC設備執行異地備份, 資料庫的複製是開啟的狀態下, ...
相关推荐
Oracle数据库系统提供了强大的XML处理能力,这主要体现在其内置的几个PL/SQL包上,如DBMS_XMLDOM、DBMS_XMLPARSER和DBMS_XMLQUERY。这些包为开发者提供了处理XML文档的一整套工具,使得在数据库环境中进行XML数据的...
Oracle 数据库中使用 dbms_stats 包手动收集统计信息 在 Oracle 数据库中,dbms_stats 包提供了一种手动收集统计信息的方式,包括基于表、用户和索引的统计信息。通过使用 dbms_stats 包,我们可以手动收集统计信息...
Oracle数据库系统中,`DBMS_LOB`是一个重要的PL/SQL包,专门用于处理大型对象(LOBs,Large Object)。LOBs是Oracle提供的一种数据类型,用于存储大量数据,如文本、图像、音频或视频文件等。这个包包含了各种过程和...
### DBMS_STATS.GATHER_TABLE_STATS详解 #### 一、概述 `DBMS_STATS.GATHER_TABLE_STATS` 是 Oracle 数据库中的一个重要过程,主要用于收集表、列和索引的统计信息,这些统计信息对于优化器选择合适的执行计划至关...
标题中的问题“ORACLE SYS.DBMS_REGISTRY_SYS has errors”指的是在Oracle数据库系统中,系统包BODY `SYS.DBMS_REGISTRY_SYS` 出现错误,导致了一系列的PL/SQL调用失败。这种错误通常与数据库的元数据注册功能有关,...
dbms_output.put_line('Fetch rows is ' || d); EXIT WHEN d ; DBMS_SQL.COLUMN_VALUE(c, 1, n_tab); DBMS_SQL.COLUMN_VALUE(c, 2, n_tab1); -- 这里可以添加更多的逻辑来处理查询结果 END LOOP; dbms_...
### 如何禁用及回收Java的授权:dbms_java 授权管理详解 #### 一、引言 在Oracle数据库环境中,`dbms_java`包提供了一系列功能强大的工具,用于管理和控制Java应用程序的安全性。这对于那些在Oracle环境中部署了...
### DBMS_OBFUSCATION_TOOLKIT:Oracle 数据库中的加密与解密工具包 DBMS_OBFUSCATION_TOOLKIT是Oracle数据库提供的一种用于数据加密解密的强大工具包,自Oracle 8i版本开始引入。它支持多种加密算法,如DES、...
在Oracle数据库系统中,`DBMS_RANDOM`是一个非常实用的包,它提供了生成随机数和随机字符串的功能。这个包在各种场景下都有广泛的应用,比如在测试数据的生成、模拟随机行为或者创建伪随机数据时。我们将深入探讨`...
支持ArcGIS10.2版本的PostgreSQL_DBMS_for_windows_922,ESRI官方原版资源。
首先,我们来看dbms_output包,它用于在PL/SQL程序中进行输入和输出。通过enable和disable过程,我们可以开启或关闭输出功能。put_line过程用于打印一行文本,而put过程则允许逐字符输出,配合new_line过程添加换行...
DBMS_LOCK是Oracle数据库系统中的一个内置包,用于在用户会话之间实现锁的管理,以确保并发操作的安全性和数据一致性。这篇博文深入探讨了DBMS_LOCK的功能、使用方法以及在实际应用中的重要性。 首先,我们要理解...
在Oracle数据库系统中,DBMS_SQL是一个非常重要的包,它提供了动态执行SQL语句的功能,这对于开发复杂的数据库应用或者需要在运行时构建SQL语句的情况非常有用。DBMS_SQL允许我们处理那些在编译时未知的SQL语句,极...
在这个项目中,"DBMS_c.rar" 提供了一个使用 C 语言实现的简单 DBMS 框架,名为 "DBMS_c",特别强调了用 C 语言来构建数据库系统的能力。C 语言以其高效和灵活性著称,这使得它成为编写底层系统软件的理想选择,尽管...
DBMS_REDEFINITION DBMS_REDEFINITION 是 Oracle 10g 中的一个包,主要用于在线修改表的属性,可以在线重定义表,性能调优方面用处很大。 DBMS_REDEFINITION 包提供了多个函数和过程,可以用于在线重定义表,包括...
DBMS_PROFILER是Oracle数据库提供的一种性能分析工具,主要用于PL/SQL代码的性能优化。它可以帮助开发者识别程序中的瓶颈,从而提升应用的执行效率。在本文中,我们将深入探讨DBMS_PROFILER的使用方法,包括安装、...
"DBMS.rar_dbms_dbms_java_dbms_java_plus"这个标题暗示了我们关注的焦点:使用Java实现对DBMS(特别是Oracle数据库)的操作,并且具有类似SQL*PLUS的功能。SQL*PLUS是Oracle公司提供的一个命令行工具,用于执行SQL...
9. **DBMS_OUTPUT.PUT_LINE 和 DBMS_OUTPUT.GET_LINE**: 分别用于写入和读取调试信息。 10. **DBMS_LOB**: 处理大型对象(LOBs),如BFILE、BLOB、CLOB和NCLOB。 11. **DBMS_SQL**: 动态执行SQL语句,提供解析、...
然而,当出现错误“ORA-04063: package body 'SYS.DBMS_REGISTRY_SYS' has errors”时,表明`DBMS_STATS`包或与其相关的`SYS.DBMS_REGISTRY_SYS`包体存在错误,这可能对数据库性能和正常操作造成影响。 **问题症状*...