oracle问题
怎么在存储过程中定义out参数是游标?
怎么在java程序中接收存储过程out参数是%rowtype类型的变量
1.create or replace procedure aaaaa1 (
p_user_id_i in varchar2,
o_cur out sys_refcursor
)
as
begin
open o_cur for select * from test where t1 = p_user_id_i;
end aaaaa1;
/
2.java接收%ROWTYPE?还不如返回一个只有一行的游标。下面的DBI.TYPE.T_SMS_TASK是我自定义的类型,不知道java怎么处理%ROWTYPE,我没试过,一般我都用游标返回%ROWTYPE 的。
public static SMSTaskObj selectSmsTask(int terminateTime) {
ICallableStatement cs = null;
SMSTaskObj taskObj = null;
try {
cs = DbFactory.getInstance().getCallableStatement(
DBI.SERVER_DB_NAME, PROC_SEL_SMS_TASK);
cs.setInt(1, terminateTime);
cs.registerOutParameter(2, OracleTypes.STRUCT, DBI.TYPE.T_SMS_TASK);
cs.registerOutParameter(3, OracleTypes.INTEGER);
cs.execute();
int retVal = cs.getInt(3);
if (retVal != 0) {
throw new Exception("Oracle procedure PROC_SEL_SMS_TASK error!");
}
STRUCT struct = (STRUCT) cs.getObject(2);
Datum[] dt = struct.getOracleAttributes();
if (String.valueOf(dt[0].bigDecimalValue()).equals("-1")) {
return null;
}
taskObj = new SMSTa
相关问答:
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
然後按回車鍵 說明: user/password@dbname 分別表示用戶名,密碼和服務名 f ......
请问这个缓冲池是怎么回事啊?可以连接缓冲池利用其中的数据吧?怎么用?
这个是oracle自动做的,一般应用程序是操作不了的。
不能直接连接吗?
引用
不能直接连接吗?
不能
那缓冲池里的数据也不能查询 ......
我在创建数据库的时候用的名字为oracle10,但是创建好后,在默认的目录下显示的名称却是oracle10g,这是为什么?
你看的 10g是安装目录吧
SQL> select name from v$database;
NAME
---------
ORCL
......
两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......