Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过jdbc代码调用oracle存储过程_Java_Sql_Jdbc - Fatal编程技术网

Java 如何通过jdbc代码调用oracle存储过程

Java 如何通过jdbc代码调用oracle存储过程,java,sql,jdbc,Java,Sql,Jdbc,我想通过JDBC调用Oracle10g的存储过程名(mytable1)。 你能告诉我怎么做吗?(我正在struts2程序中使用此代码) --下面是我想调用的程序------------------ Crummy way:(可以使用现有的stmt和rs变量) 好办法: //mytable1 is a stored procedure String mytable1Sql = "{call mytable1(?)}"; CallableStatement callableStatement = db

我想通过JDBC调用Oracle10g的存储过程名(mytable1)。 你能告诉我怎么做吗?(我正在struts2程序中使用此代码)

--下面是我想调用的程序------------------

Crummy way:(可以使用现有的stmt和rs变量)

好办法:

//mytable1 is a stored procedure
String mytable1Sql = "{call mytable1(?)}";
CallableStatement callableStatement = dbConnection.prepareCall(mytable1Sql);
callableStatement.setString(1, "whatever");
// no out parameters, but i'll leave this in so you can see it.
// callableStatement.registerOutParameter(2, java.sql.Types.VARCHAR);

// execute mytable1 stored procedure
callableStatement.executeUpdate();

// no out parameters, but i'll leave this in so you can see it.
// String userName = callableStatement.getString(2);

这是说,我一般不建议用存储过程创建表。

可能的重复,而不是张贴一个几乎相同的重复你以前的问题,考虑编辑/更新原件。
CREATE  or replace PROCEDURE mytable1 (tname varchar2)
is
stmt varchar2(1000);
begin
stmt := 'CREATE TABLE '||tname || '(username varchar2(20) ,password varchar2 (10))';
execute immediate stmt;
end;
String query = "begin mytable1(?, ?); end;";
rs=stmt.executeQuery(query);
//mytable1 is a stored procedure
String mytable1Sql = "{call mytable1(?)}";
CallableStatement callableStatement = dbConnection.prepareCall(mytable1Sql);
callableStatement.setString(1, "whatever");
// no out parameters, but i'll leave this in so you can see it.
// callableStatement.registerOutParameter(2, java.sql.Types.VARCHAR);

// execute mytable1 stored procedure
callableStatement.executeUpdate();

// no out parameters, but i'll leave this in so you can see it.
// String userName = callableStatement.getString(2);