返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

java.sql.CallableStatement
java.sql.CallableStatement 是存储过程执行接口。
表8-2 对java.sql.CallableStatement 的支持情况
方法名
返回值类型
支持JDBC 4
getArray(int parameterIndex)
Array
Yes
getBigDecimal(int
parameterIndex)
BigDecimal
Yes
getBlob(int parameterIndex)
Blob
Yes
getBoolean(int parameterIndex)
boolean
Yes
getByte(int parameterIndex)
byte
Yes
getBytes(int parameterIndex)
byte[]
Yes
getClob(int parameterIndex)
Clob
Yes
getDate(int parameterIndex)
Date
Yes
getDate(int
parameterIndex,
Calendar cal)
Date
Yes
getDouble(int parameterIndex)
double
Yes
getFloat(int parameterIndex)
float
Yes

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
219
getInt(int parameterIndex)
int
Yes
getLong(int parameterIndex)
long
Yes
getObject(int parameterIndex)
Object
Yes
getObject(int
parameterIndex,
Class type)
Object
Yes
getShort(int parameterIndex)
short
Yes
getSQLXML(int
parameterIndex)
SQLXML
Yes
getString(int parameterIndex)
String
Yes
getNString(int parameterIndex)
String
Yes
getTime(int parameterIndex)
Time
Yes
getTime(int
parameterIndex,
Calendar cal)
Time
Yes
getTimestamp(int
parameterIndex)
Timestamp
Yes
getTimestamp(int
parameterIndex, Calendar cal)
Timestamp
Yes
registerOutParameter(int
parameterIndex, int type)
void
Yes
registerOutParameter(int
parameterIndex, int sqlType, int
type)
void
Yes
wasNull()
Boolean
Yes

不允许含有OUT 参数的语句执行批量操作。

以下方法是从java.sql.Statement 继承而来:close ,execute ,executeQuery ,
executeUpdate,
getConnection,
getResultSet,
getUpdateCount,
isClosed,setMaxRows ,
setFetchSize。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
220

以下方法是从java.sql.PreparedStatement 继承而来:addBatch,clearParameters,
execute,executeQuery,executeUpdate,getMetaData,setBigDecimal,setBoolean,
setByte,
setBytes,
setDate,
setDouble,
setFloat,
setInt,
setLong,
setNull,setObject,
setString,setTime,setTimestamp 。

registerOutParameter(int parameterIndex, int sqlType, int type)方法仅用于注册复合数
据类型,其它类型不支持。

可以直接切换到gbasedbt用户,也可以:
[root@PRIMARY ~]# su gbasedbt
[gbasedbt@PRIMARY root]$ source /home/gbasedbt/.bash_profile
如果想在切换用户之后使用新用户的工作环境,也可以在su和用户名之间加-:
[root@PRIMARY ~]# su - gbasedbt

应用程序通过执行SQL 语句来操作数据库的数据(不用传递参数的语句),需要按以
下步骤执行:
Connection conn = DriverManager.getConnection("url","user","password"); Statement stmt =
conn.createStatement();
步骤1 调用Connection 的createStatement 方法创建语句对象。
int rc = stmt.executeUpdate("CREATE TABLE customer_t1(c_customer_sk INTEGER,
c_customer_name VARCHAR(32));");
步骤2 调用Statement 的executeUpdate 方法执行SQL 语句。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
77

数据库中收到的一次执行请求(不在事务块中),如果含有多条语句,将会被打包成一
个事务,事务块中不支持vacuum 操作。如果其中有一个语句失败,那么整个请求都将
会被回滚。

使用Statement 执行多语句时应以“;”作为各语句间的分隔符,存储过程、函数、匿名块
不支持多语句执行。

“/”可用作创建单个存储过程、函数、匿名块的结束符。
步骤3 关闭语句对象。
stmt.close();
----结束