当前位置:首页>开发>正文

oracle xmlagg用法 使用oracle解析xml

2023-04-10 09:33:32 互联网 未知 开发

oracle xmlagg用法 使用oracle解析xml

使用oracle解析xml

DECLARE
v_xmlstr VARCHAR2(1000)
v_xml XMLTYPE
v_title VARCHAR2(50)
v_language VARCHAR2(50)
v_body VARCHAR2(50)
BEGIN
v_xmlstr :=

This IS title.
JavaScript

I am BODY.

v_xml := XMLTYPE(v_xmlstr) -- 生成XML

SELECT EXTRACTVALUE(VALUE(t),/html/head/title)
,EXTRACTVALUE(VALUE(t),/html/head/LANGUAGE)
,EXTRACTVALUE(VALUE(t),/html/body)
INTO v_title ,v_language ,v_body
FROM TABLE(XMLSEQUENCE(EXTRACT(v_xml, /html))) t -- 提取XML节点值

dbms_output.put_line(v_title)
dbms_output.put_line(v_language)
dbms_output.put_line(v_body)
END
/
结果:
This IS title.
JavaScript
I am BODY.

oracle client怎么用

oracle10g是服务器,如果本机安装了oracle10g,没有必要安装oracle client,只要配置好DNS,就可以使用plsql devement连接 当然你也可以同时安装oracle10g和oracle client oracle client是客户端,里面有数据库管理工具、配置DNS的工具等,如果

Oracle 自定义TYPE 的几种用法


Oracle 自定义TYPE 的几种用法

Oracle中的类型有很多种,主要可以分为以下几类:
1、字符串类型。如:char、nchar、varchar2、nvarchar2。
2、数值类型。如:int、number(p,s)、integer、smallint。
3、日期类型。如:date、interval、timestamp。
4、PL/SQL类型。如:pls_integer、binary_integer、binary_double(10g)、binary_float(10g)、boolean。plsql类型是不能在sql环境中使用的,比如建表时。
5、自定义类型。

下面简单的枚举下常用的几种自定义类型。
1、子类型。
这种类型最简单,类似类型的一个别名,主要是为了对常用的一些类型简单化,它基于原始的某个类型。如:
有些应用会经常用到一些货币类型:number(16,2)。如果在全局范围各自定义这种类型,一旦需要修改该类型的精度,则需要一个个地修改。
那如何实现定义的全局化呢?于是就引出了子类型:
subtype cc_num is number(16,2)
这样就很方便地解决了上述的麻烦。

2、普通类型
如:
create or replace type typ_calendar as object(
年 varchar2(8),
月 varchar2(8),
星期日 varchar2(8),
星期一 varchar2(8),
星期二 varchar2(8),
星期三 varchar2(8),
星期四 varchar2(8),
星期五 varchar2(8),
星期六 varchar2(8),
本月最后一日 varchar2(2)
)
这种类型可以在表结构定义的时候使用:
create table tcalendar of typ_calendar

插入数据测试:
SQL> insert into tcalendar
2 select typ_calendar(2010,05,1,2,3,4,5,6,7,31) from dual
3 /

注意:插入的数据需要用typ_calendar进行转换。

1 row inserted

--查看结果
SQL> select * from tcalendar

oracle中xmldom.getelementsbytagname()使用问题

--取两个日期间的工作天数
SELECT COUNT(*) INTO vn
FROM (SELECT vod ROWNUM - 1 RN
FROM DUAL
CONNECT BY ROWNUM <= vnd - vod)
WHERE TO_CHAR(RN, D) BETWEEN 2 AND 6

--返回数字
RETURN vn

--异常判断并返回-EXCEPTION
WHEN OTHERS THEN
RETURN -1
END fun_get_workdays

然后select id,fun_get_workdays(begin_date date, end_date date) from table

oracle 游标用法实例!

CREATE TABLE test_main (
id INT,
value VARCHAR(10),
PRIMARY KEY(id)
)

INSERT INTO test_main(id, value) VALUES (1, ONE)
INSERT INTO test_main(id, value) VALUES (2, TWO)
INSERT INTO test_main(id, value) VALUES (3, THREE)

DECLARE
-- 定义游标.
CURSOR c_test_main IS
SELECT id, value FROM test_main
-- 保存游标数据的变量
v_main_data c_test_main%ROWTYPE
BEGIN
-- 打开游标.
OPEN c_test_main
LOOP
-- 填充数据(主表).
FETCH c_test_main INTO v_main_data
-- 假如没有检索到(主表)数据,结束循环处理
Exit when c_test_main%NOTFOUND

dbms_output.put_line(TO_CHAR(v_main_data.id)
|| : || v_main_data.value )

END LOOP
-- 关闭游标
CLOSE c_test_main
END
/