Oracle 10g第2版新特性之SQL和PL/SQL
2006-12-30 12:01:50 来源:WEB开发网核心提示: XQuery 的一般结构由缩略语 FLOWR(发音为“flower”)来描述,它代表 FOR、LET、ORDER BY、WHERE 和 RETURN,Oracle 10g第2版新特性之SQL和PL/SQL(4),在以上的示例中,我们看到第 2 行定义了数据的来源,用
XQuery 的一般结构由缩略语 FLOWR(发音为“flower”)来描述,它代表 FOR、LET、ORDER BY、WHERE 和 RETURN。在以上的示例中,我们看到第 2 行定义了数据的来源,即从 1 到 9 的一系列数字。它可以是任何来源 — 一组标量值或者 XML 数据的一个元素,由 FOR 子句指定。该行还指定一个变量来存取这些值 (var1)。在第 3 行中,另一个变量 var2 拥有的值是 var1 加 1,由 LET 子句指定。
对于所有这些返回值,我们只关心 6 以下的值,这是由子句 WHERE 指定的。然后我们根据 var2 的值以降序方式对结果集排序,如第 6 行中的 ORDER BY 子句所示。最后,利用 RETURN 子句将值返回给用户。
如果将该语法与常规 SQL 语法相比较,则 RETURN、FOR、WHERE 和 ORDER BY 类似于 SELECT、FROM、WHERE 和 ORDER BY。LET 子句没有对应的 SQL 语句,但它可以在其他子句中指定。
让我们来看这种功能强大的新工具的一个实际应用示例。首先,创建一个表,用于保存与一个帐户持有者间的详细通信信息。
create table acc_comm_log
(
acc_no number,
comm_details xmltype
);
现在,向其中插入一些记录。
insert into acc_comm_log
values
(
1,
xmltype(
'<CommRecord>
<CommType>EMAIL</CommType>
<CommDate>3/11/2005</CommDate>
<CommText>Dear Mr Smith</CommText>
</CommRecord>')
)
/
insert into acc_comm_log
values
(
2,
xmltype(
'<CommRecord>
<CommType>LETTER</CommType>
<CommDate>3/12/2005</CommDate>
<CommText>Dear Mr Jackson</CommText>
</CommRecord>')
);
insert into acc_comm_log
values
(
3,
xmltype(
'<CommRecord>
<CommType>PHONE</CommType>
<CommDate>3/10/2005</CommDate>
<CommText>Dear Ms Potter</CommText>
</CommRecord>')
);
现在您可以看到表中的记录:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
更多精彩
赞助商链接