COBOL-DB2 程序如何调用存储过程?举个例子。
存储过程通常包含一个或多个程序中经常使用的SQL。STOREDPROCEDURE的主要优点是它减少了COBOL和DB2之间的数据流量,因为STOREDPROCEDURE驻留在DB2中。
COBOL-DB2程序可以使用CALL语句调用STOREDPROCEDURE,我们可以嵌套多达16个级别的STOREDPROCEDURE。例如,如果我们有一个名为ORDERSTAT的STOREDPROCEDURE,那么我们可以使用以下命令在COBOL-DB2程序中调用它:
示例
EXEC SQL CALL ORDERSTAT (:WS-ORDER-ID, :WS-ORDER-STATUS) END-EXEC
为了创建一个DB2过程,我们可以给出如下定义。
示例
CREATE PROCEDURE ORDERSTAT ( IN ORDER-ID int, OUT ORDER-STAT char)
我们可以定义存储过程如下。
示例
LANGUAGE SQL PROCA: BEGIN DECLARE ORDERID int; SELECT ORDER_STAT FROM ORDERS WHERE ORDER_ID = ORDERID; END P1
以下是使用STOREDPROCEDURE的一些优点。
核心逻辑和算法集中存储在DB2并由DBMS管理。这有助于可重用性并节省仅在单个中心位置进行修改的工作量。
可以根据为DB2中的不同配置文件设置的权限来限制对存储过程的访问。
该逻辑在数据库服务器上执行,这减少了DB2网络的流量,从而减少了整体执行时间。