DB2 9 运用斥地(733 检修)认证指南,第 1 局部: 数据库工具与编程举措(3)

操纵根基道理构建根基
developerWorks








DB2 运用挨次斥地数据库工具

例程

在本局部,还将领会别的几种范例的数据库工具。这些工具的总称为例程。有三种主要功能范例的例程:存储历程函数举措。(有关这些范例之间的区别的更多信息,请拜见下面结果为 “存储历程、函数和举措” 的局部。)

例程是用于封装与特定义务相干的编程和数据库逻辑的数据库工具。议决有用地应用例程,可简化运用挨次代码并进步代码重用率。比喻,要是将某种营业逻辑封装在例程中,则对营业规定法则的变化将只能影响到该具体式格局程。因此,可将对运用挨次的变化最小化。

在数据库办事器上定义和处理例程。这将容许运用挨次充沛操纵数据库办事器的才调,同时又低落客户机上所需的处理负载。经常,复杂营业逻辑发出多个 SQL 语句。语句从客户机辨别发送到办事器,要是触及大批数据库勾当,则会招致网络通信量很高。要是在例程中捕捉这些操纵,则客户机与办事器板滞之间的网络通信量将大大添加,从而改善运用挨次的总体机能。

可以加强宁静性是应用例程的另一个主要所长。例程可用来屏障对底层数据库工具的直接会晤。拥有 EXECUTE 权限就足以调用例程;无需具有底层数据库工具的显式权限。





回页首



例程的分比喻完成

有以下几种或许的例程完成:

  • 内置 例程是 DB2 琐细附带的。它们是在 SYSIBMSYSPROCSYSFUNSYSTOOLS 之类的琐细形式中定义的。
  • 有源 例程仅合用于函数。有源函数复制另一函数的语义。
  • 内部 例程应用内部编程措辞完成。可鄙人列撑持措辞中斥地例程:
    • Java™ 措辞
    • C/C
    • .NET
    • OLE(仅合用存储历程)
    • OLE DB(仅合用表函数)
  • SQL 例程应用 SQL Procedural Language (SQL PL) 完成。DB2 SQL PL 是 SQL Persistent Stored Modules (SQL/PSM) 措辞范例的子集。此范例是构造化编程措辞的根基,将后者与 SQL 一同应用可编写存储历程、函数和举措。它连系了 SQL 数据会晤的便利性与复杂编程措辞的流控制构造。这等于 SQL PL 如斯盛行的主要原因。





回页首



存储历程、函数和举措

存储历程 是包括一些挨次的数据库工具,这些挨次公用于会晤和点窜一个或多个表中数据。在存储历程中,可将多个 SQL 语句与流逻辑包装在一同。它们用作客户机运用挨次或其他例程的子例程扩展。它们在相干数据库办理琐细 (RDBMS) 的控制下执行和办理。

函数 是可自定义的 SQL 扩展。可在 SQL 语句(如 select-listFROM 子句)中调用它们。有以下四种范例的函数:集聚标量

存储历程经常用于封装复杂运用挨次逻辑以及执行大批数据库操纵,譬喻多表毗连和游标操纵。另一方面,函数(尤其是 SQL 函数)经常包括较为复杂的操纵。SQL 函数中编码的语句扩展到援用该函数的 SQL 语句,并议决此语句执行。这就招致了语句在执行时静态编译。要是 SQL 语句中应用了复杂的 SQL 函数,则 DB2 需求额外的资原本编译该语句并天生数据会晤企图。这或许影响运转时的总体机能。

举措 封装了一些逻辑,这些逻辑为包括一个或多个指定属性的构造化范例提供行为,其中每个属性均拥有其本人的数据范例。





回页首



DB2 特有的注册项:CURRENT PATH

与大大都 DB2 数据库工具一样,无缺的例程名包括形式和例程名。本教程中前面引见的 DB2 特有的注册项 CURRENT SCHEMA(鄙人面的结果为 “DB2 特有的注册项:CURRENT SCHEMA ” 的局部也接洽过),为大大都数据库工具阐明形式,但例程除外。DB2 改为应用特有的注册项 CURRENT PATH 来定位例程。

可应用以下命令获得 CURRENT PATH 设置:

VALUES CURRENT PATH


默许路子包括三种琐细形式,前面是往后毗连到数据库的用户。比喻:

"SYSIBM"、"SYSFUN"、"SYSPROC"、"DB2ADMIN"


下面是几个可用于更新 PATH 的才力示例:

清单 5. 更新 PATH:示例 1

                    SET PATH=CURRENT PATH,"USER2"
VALUES CURRENT PATH
------------------------------
"SYSIBM","SYSFUN","SYSPROC","DB2ADMIN","USER2"
1 record(s) selected.



清单 6. 更新 PATH:示例 2
                    SET PATH=SYSTEM PATH,"USER2"
VALUES CURRENT PATH
------------------------------
"SYSIBM","SYSFUN","SYSPROC","USER2"
1 record(s) selected.



清单 7. 更新 PATH:示例 3
                    SET PATH="USER1","USER2","USER3"
VALUES CURRENT PATH
------------------------------
"USER1","USER2","USER3"
1 record(s) selected.





版权声明: 原创作品,容许转载,转载时请务必以超链接体式格局标明文章 原始出处 、作者信息和本声明。否则将穷究法令责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1972878.html