操纵根基道理构建根基
DB2 运用挨次斥地数据库工具
例程
在本局部,还将领会别的几种范例的数据库工具。这些工具的总称为例程。有三种主要功能范例的例程:存储历程、函数 和举措。(有关这些范例之间的区别的更多信息,请拜见下面结果为 “存储历程、函数和举措” 的局部。)
例程是用于封装与特定义务相干的编程和数据库逻辑的数据库工具。议决有用地应用例程,可简化运用挨次代码并进步代码重用率。比喻,要是将某种营业逻辑封装在例程中,则对营业规定法则的变化将只能影响到该具体式格局程。因此,可将对运用挨次的变化最小化。
在数据库办事器上定义和处理例程。这将容许运用挨次充沛操纵数据库办事器的才调,同时又低落客户机上所需的处理负载。经常,复杂营业逻辑发出多个 SQL 语句。语句从客户机辨别发送到办事器,要是触及大批数据库勾当,则会招致网络通信量很高。要是在例程中捕捉这些操纵,则客户机与办事器板滞之间的网络通信量将大大添加,从而改善运用挨次的总体机能。
可以加强宁静性是应用例程的另一个主要所长。例程可用来屏障对底层数据库工具的直接会晤。拥有 EXECUTE
权限就足以调用例程;无需具有底层数据库工具的显式权限。
回页首
例程的分比喻完成
有以下几种或许的例程完成:
- 内置 例程是 DB2 琐细附带的。它们是在
SYSIBM
、SYSPROC
、SYSFUN
和SYSTOOLS
之类的琐细形式中定义的。 - 有源 例程仅合用于函数。有源函数复制另一函数的语义。
- 内部 例程应用内部编程措辞完成。可鄙人列撑持措辞中斥地例程:
- 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-list
或 FROM
子句)中调用它们。有以下四种范例的函数:集聚、标量、行 和表。
存储历程经常用于封装复杂运用挨次逻辑以及执行大批数据库操纵,譬喻多表毗连和游标操纵。另一方面,函数(尤其是 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.
版权声明: 原创作品,容许转载,转载时请务必以超链接体式格局标明文章 原始出处 、作者信息和本声明。否则将穷究法令责任。