清单 17. 从数据库中检索多个值
|
我们能够从 实验 3 开始编写并执行一个 Perl 程式,他能够创建一个 DB2 表,向该表中插入一些数据,并返回插入该表中的行数。
调用存储过程
下面让我们来创建一个多个步骤的场景,从而周详了解一下如何从 Perl 程式中调用 DB2 的存储过程。首先,创建一个简单的存储过程 SP_GET_LOC,他从表 ORG 中返回某个给定部门的位置(步骤 1)。
清单 18. 步骤 1:创建存储过程
|
请注意,这个存储过程有一个输入参数和一个输出参数。当我们在 DB2 的命令行处理器(CLP)中运行这个过程时,他对部门 10 会返回位置 NEW YORK。
清单 19. 步骤 2:运行存储过程
|
下面让我们来编写一个简单的 Perl 程式来调用存储过程 SP_GET_LOC(步骤 3,请参看 清单 20)。我们的动态 SQL 语句实际上和在 DB2 CLP 中执行的语句相同,形式为 SP_GET_LOC(?,?),但是在 CLP 中是传递硬编码的 10(部门编号),在动态 SQL 语句中将使用一个参数标记。采用这种方法,就能够对 ORG 表的部门编号列的任何值查询位置了。
在构造 SQL 语句之后,剩下的步骤就和其他具备参数标记的动态语句完全相同了。能够使用 $sth = $dbh->prepare 方法进行准备。使用 $sth->bind_param 方法将部门编号绑定为输入参数,使用 $sth->bind_param_inout 方法将返回的位置绑定为输出参数,然后再执行动态 SQL 语句。
该程式如下:
清单 20. 步骤 3:调用存储过程
|
假如执行这个程式,就会看到给定部门(本例中为 10)的 LOCATION:
清单 21. 步骤 4:执行调用 DB2 存储过程的 Perl 程式
|
大对象的操作
使用 Perl 来处理文档比使用其他更复杂的语言(例如 C 或 Java®)都要简单。下面我们就会看到如何将数据直接从文档中导入 DB2 的大对象数据(LOB)列中。插入大对象数据的最有效的方法是,将这个文档直接绑定到 DB2 表中一个和 LOB 类型的列相关联的输入参数上。Perl 驱动程式能够直接从文档中读取数据,并将数据传递给数据库服务器。要将一个文档绑定到某个输入 LOB 参数上,能够在执行 INSERT 操作过程中使用
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



