DB2 9 应用开发(733 考试)认证指南,第 2 部分
2009-01-13 16:39:48 来源:WEB开发网SELECT UNIT_PRICE, CURRENCY('UK',UNIT_PRICE) FROM PRODUCT WHERE PRODUCT_ID = ?
FENCED 和 NOT-FENCED 模式
可以用 C/C++、Java 语言或 OLE 创建函数。函数可以以 FENCED 或 NOT-FENCED 模式运行。在迁移到 NOT-FENCED 模式之前,应该用 FENCED 模式开发函数。NOT-FENCED 进程更快一些,因为它使用 DB2 代理内存,而 FENCED 进程在它自己的 db2udf 进程中运行。FENCED 进程使用共享内存与调用代理通信。FENCED 函数存储在 sqllib/function 中,而 NOT-FENCED 则存储在 sqllib/unfenced 中。
DB2 提供的 SQL 函数
现在来看一些 SQL 函数的例子。第一个例子从一个表中选择所有书的标题和价格。如果该书的价格为 NULL,则将其价格显示为 0.00。
SELECT TITLE, COALESCE(PRICE, 0.00) AS PRICE
FROM TITLES;
接下来的例子返回的结果是公司的名称以及公司名称中所含的字符数:
SELECT COMPANYNAME, LENGTH(COMPANYNAME)
FROM CUSTOMERS
现在看看如何返回每个作者的名字(first name)最右边的 5 个字符:
SELECT RIGHT(AU_FNAME, 5)
FROM AUTHORS
下一个例子使用 project 表,将宿主变量 AVERAGE (decimal(5,2)) 设置为名为 D11 的部门(DEPTNO)中项目的平均工资水平(PRSTAFF)。
SELECT AVG(PRSTAFF)
INTO :AVERAGE
FROM PROJECT
WHERE DEPTNO = 'D11'
DB2 SQL Reference 手册中还定义了很多其他的 SQL 函数。如果 DB2 没有提供适当的函数,您总是可以编写自己的 SQL 函数。
使用公共表表达式
公共表表达式 是一个本地临时表,可以在一条 SQL 语句中引用多次。这个临时表只能存在于定义它的 SQL 语句的生命周期内。每次公共表表达式被引用时,其结果都是相同的。临时表是在 SQL 语句中用 WITH 子句定义的。下面是具体的语法:
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
更多精彩
赞助商链接