如何在JDBC里调用PLSQL创建的存储过程?
发布网友
发布时间:2022-04-08 02:18
我来回答
共2个回答
懂视网
时间:2022-04-08 06:39
在JDBC简单封装的基础上实现
public class UserDao{
public static void testGetUser(String userName) throws Exception{
Connection conn=null;
CallableStatement callableStatement=null;
ResultSet resultSet=null;
try{
conn=JdbcUtils.getConnetcion();
String sql="{call addUser(?,?,?,?)}";//调用数据库addUser存储过程,有四个参数,最后一个参数是输出新数据的ID
callableStatement=conn.prepareCall(sql);
callableStatement.setString(1,"test");
callableStatement.setDate(2,new java.sql.Date(System.currentTimeMillis()));
callableStatement.setFloat(3,100f);
callableStatement.registerOutParameter(4,Types.INTEGER);
callableStatement.excuteUpdate();
int id=callableStatement.getInt(4);//获得存储过程的输出参数值
}finally{
JdbcUtils.freeResource(resultSet,preparedStatement,conn);
}
}
}
初学JDBC,调用存储过程
标签:
热心网友
时间:2022-04-08 03:47
import oracle.jdbc.*;
import oracle.sql.*;
import java.sql.*;
public class ReturnIndexTable
{
Connection ociconn=null;
OracleCallableStatement stmt =null;
public String[] getTable(String in_param)
{
String[] reAry=null;
try
{
OracleDriver S_Driver=null;
if(S_Driver==null)
S_Driver=new oracle.jdbc.OracleDriver();
DriverManager.registerDriver(S_Driver);
String url="jdbc:oracle:oci8:@test";
String user="user";
String password=" password";
ociconn= DriverManager.getConnection(url,user,password);
stmt =(OracleCallableStatement)ociconn.prepareCall("begin yejf_count(?,?); end;");
// 返回的索引表最大长度(可以大于索引表实际长度)
int maxLen =31;
// 索引表元素类型
int elemSqlType = OracleTypes.VARCHAR;
//索引表元素长度(CHAR, VARCHAR or RAW),其它元素类型可忽略该项值,但该参数仍须定义
int elemMaxLen=50;
stmt.setString(1,in_param);
// 注册返回参数
stmt.registerIndexTableOutParameter(2,maxLen,elemSqlType,elemMaxLen);
stmt.execute();
// 返回数组类型
reAry=(String[])stmt.getPlsqlIndexTable(2);
}
catch (Exception e)
{e.printStackTrace();
}
finally
{return reAry;
}
}
//关闭连接.............
}
如何执行存储过程
打开plsql,输入登录名和密码进行登录。登录成功后,进入命令窗口。在窗口里输入存储过程,例子所示 输入setserveroutputon;按回车键 用execute存储过程名(参数)。执行存储过程。或者也可以用 begin 存储过程名(参数)。end。在其他代码中,比如java里也可以调用存储过程 ...
plsql中怎么调用带输出参数的存储过程
1、首先打开一个的PLSQL Developer的界面中,点击左上角的工具,如下图所示。2、然后在打开的工具下拉菜单中,点击首选项,如下图所示。3、接着在打开的窗口中,点击左侧中的输出选项,如下图所示。4、进入到了输出界面中,在缓冲区大小中输入大小。5、大小输入完成之后,点击确定,如下图所示就完成...
请问plsql developer如何调试package里面的存储过程啊,谢谢
在最左边包头或包体浏览器里选择要测试的过程,点反键,最底下是test按钮,点击后进入调用测试界面,输入参数执行即可
oracle 使用断点调试函数时如何进入被调用的存储过程?
首先向你推荐工具:PL/SQL Developer。通过这个工具登录数据库后,找到你要调试的存储过程,右键单击,选择‘test’选项,然后就会出现如图所示的调试界面。点击图标1,进入存储过程调试的阶段,注意:如果存储过程需要入参,那么需要在点1图标之前输入入参,入参的输入在打开的test窗口的下方。单击图标2所示...
jdbc调用存储过程为什么语句不能加分号
如果你在程序里面写sql,就不要加分号,在程序里面编译器会把分号当做sql本身的一部分,所以会报错 如果是在查询工具里面(比如plsql),这个时候可以加上分号,在工具里面分号是个分隔符,看到分号就标志着本条sql语句结束了; 当然不加也可以,在工具里面看不到分号就认为本条sql没有结束。 比如...
plsql存储过程如何调试
1. 打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到 需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有...
plsql developer 里怎么写存储过程,和执行存储过程,怎么查看存储过程和...
--建立存储过程:create or replace procedure query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is begin select 编号 ,书名,价格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 编号=name;end query_BOOK;--调用存储过程:declare v_name number(10);v_my_book ...
oracle中怎么在plsql中调用存储过程
打开set serveroutput on还需要有输出内容才可以显示。如,有以下存储过程:create or replace procedure p_test as v_begintime varchar2(20);v_endtime varchar2(20);v_str varchar2(10);begin v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');select 'badkano' into v_str from...
如何使用PLSQL存储过程建表
存储过程里建表要用 execute immediate;比如 create PROCEDURE test is begin execute immediate 'CREATE TABLE TEMP_DCY_DDM_GZ AS SELECT AA.DEV_ID,AA.RX_POWER,AA.TX_POWER,AA.P_RX_POWER,AA.P_TX_POWER,AA.DN_ATTN,AA.UP_ATTN,AA.COLLECT_TIME,AA.达标情况 FROM (SELECT A.DEV_ID,A...
如何用plsql查看存储过程的源码!!!
1、首先双击plsql图标,进入登录界面,输入用户名和密码,输送数据库实例名。2、点击左上角new,并点击sqlwindow,进入到数据库界面。3、该图是数据库存储过程的简单布局。有存储过程的定义,包括输入变量、输出变量等,输入变量以in定义,输出以out定义;变量部分:可根据程序需求自行定义;数据处理逻辑部分...