WEB开发网
开发学院数据库DB2 数据架构师:DB2 程序员已经出现了 阅读

数据架构师:DB2 程序员已经出现了

 2009-11-16 00:00:00 来源:WEB开发网   
核心提示: 如果需要 DB2 没有提供的 SQL 函数,那么可以用 CREATE FUNCTION 语句创建函数,数据架构师:DB2 程序员已经出现了(3), DB2 还支持用 CREATE TYPE 语句创建自己的数据类型(例如,可能希望为加拿大元和澳大利亚元创建数据类型,可以在 SQL 过程中声明和赋值

如果需要 DB2 没有提供的 SQL 函数,那么可以用 CREATE FUNCTION 语句创建函数。 DB2 还支持用 CREATE TYPE 语句创建自己的数据类型(例如,可能希望为加拿大元和澳大利亚元创建数据类型,从而避免采用不同货币的资金计算出现混淆)。

DB2 的所有内置功能(以及通过用户定义函数和数据类型提供的可扩展性)都很不错,但是必须适当地使用它们。

从单语句到复合 SQL

当然,可以在 SELECT 等单独的 SQL 语句中使用 DB2 函数。但是,当使用复合 SQL 时,DB2 编程会更有意思。复合 SQL 语句是一组单独的语句,但是 DB2 把它们当作一个可执行代码单元。使用复合 SQL 的两种方式是触发器和 SQL 存储过程。

当在创建触发器的表上发生指定的数据修改操作(INSERT、UPDATE 或 DELETE)时,触发器可以自动执行一个或多个 SQL 语句。在触发器定义体中可以包含的语句之一是 SIGNAL ;如果数据修改操作会违反业务规则(例如,订单中指定的产品数量超过了库存量),那么可以使用触发器返回一个定制的错误码和相关联的消息文本。

SQL 存储过程(即完全用 SQL 编写的存储过程程序)通过逻辑流控制等把复合 SQL 提高到新的层次。除了 SQL DML 语句(SELECT、INSERT、UPDATE、DELETE、OPEN CURSOR、FETCH 等)之外,还可以在 SQL 过程中使用各种 SQL 控制语句。这些语句包括:

FOR

使用 SELECT 语句构建一个结果集,然后对结果集中的每一行执行一个或多个 SQL 语句。

IF

如果指定的条件成立(例如,如果某个 SQL 变量包含指定的值 —— 是的,可以在 SQL 过程中声明和赋值变量),那么执行 SQL 语句;否则(通过 ELSEIF 语句)在另一个条件成立时执行另一个 SQL 语句;否则,又执行另一个 SQL 语句(最后通过 ELSE 指定 “ fall-through ” 操作)。

上一页  1 2 3 4 5  下一页

Tags:数据 架构 DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接