教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 JDBCTM 指南:入门7 - CallableStatement

JDBCTM 指南:入门7 - CallableStatement

发布时间:2019-01-30   编辑:jiaochengji.com
教程集为您提供JDBCTM 指南:入门7 - CallableStatement等资源,欢迎您收藏本站,我们将为您提供最新的JDBCTM 指南:入门7 - CallableStatement资源
7 - CallableStatement
本概述是从《JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference 》这本书中摘引来的。JavaSoft 目前正在准备这本书。这本书是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份在 1997 年春季由 Addison-Wesley 出版公司出版。
7.1 概述
CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement 对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参数,另一种形式不带结果参数(有关换码语法的信息,参见第 4 节“语句”)。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。问号将用作参数的占位符。
在 JDBC 中调用已储存过程的语法如下所示。注意,方括号表示其间的内容是可选项;方括号本身并不是语法的组成部份。
{call 过程名[(?, ?, ...)]}
返回结果参数的过程的语法为:
{? = call 过程名[(?, ?, ...)]}
不带参数的已储存过程的语法类似:
{call 过程名}
通常,创建 CallableStatement 对象的人应当知道所用的 DBMS 是支持已储存过程的,并且知道这些过程都是些什么。然而,如果需要检查,多种 DatabaseMetaData 方法都可以提供这样的信息。例如,如果 DBMS 支持已储存过程的调用,则 supportsStoredProcedures 方法将返回 true,而 getProcedures 方法将返回对已储存过程的描述。
CallableStatement 继承 Statement 的方法(它们用于处理一般的 SQL 语句),还继承了 PreparedStatement 的方法(它们用于处理 IN 参数)。CallableStatement 中定义的所有方法都用于处理 OUT 参数或 INOUT 参数的输出部分:注册 OUT 参数的 JDBC 类型(一般 SQL 类型)、从这些参数中检索结果,或者检查所返回的值是否为 JDBC NULL。
7.1.1 创建 CallableStatement 对象
CallableStatement 对象是用 Connection 方法 prepareCall 创建的。下例创建 CallableStatement 的实例,其中含有对已储存过程 getTestData 调用。该过程有两个变量,但不含结果参数:
CallableStatement cstmt = con.prepareCall(
"{call getTestData(?, ?)}");
其中 ? 占位符为 IN、 OUT 还是 INOUT 参数,取决于已储存过程 getTestData。

您可能感兴趣的文章:
JDBCTM 指南:入门7 - CallableStatement
JDBCTM 指南:入门4 - Statement
JDBCTM 指南:入门2 - 连接
JDBCTM 指南:入门6 - PreparedStatement
python安装后如何打开
WalkThrough - SharePoint WebPart 入门指南(一)(二)-Web_Se
Google 站长指南(翻译)
《Python2爬虫入门教程指南》(系列教程)
pycharm如何创建django项目
省市级联菜单

[关闭]
~ ~