java 调用存储过程
发布网友
发布时间:2022-04-26 19:04
我来回答
共2个回答
热心网友
时间:2022-04-09 19:55
//存储过程create or replace Procere countBySal(
p_sal emp.sal%type,
p_count OUT number
)as
begin
select count(*) into p_count from emp where sal >= p_sql;
end countBySal; //调用步奏import java.sql.CallableStatement; //带哦用存储过程所必须的语句借口
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;public class EmpUtil {
public static int countBySal(double sal) throws Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:test";
Connection cn=DriverManager.getConnection(url, "scott", "tiger");
String sql="{call countBySal(?,?)}";//调用存储过程的语句,call后面的就是存储过程名和需要传入的参数
CallableStatement cst=cn.prepareCall(sql);
cst.setDouble(1, sal);//设置in参数的值
cst.registerOutParameter(2, Types.INTEGER);//注册out参数的类型
cst.execute();
int result = cst.getInt(2);
cst.close();
cn.close();
return result;
}
public static void main(String[] args) {
int count;
try {
count = EmpUtil.countBySal(3000);
System.out.println("工资在3000元以上的人数为:"+count);
} catch (Exception e) {
e.printStackTrace();
}
}
}追问能不能看看我的代码,你这通篇的复制,只会浪费大家的时间,没有任何意义
热心网友
时间:2022-04-09 21:13
你第一个结果返回的应该是什么内容?追问就是和我贴出来的是一样的。
Java如何实现对存储过程的调用
//创建存储过程的对象 CallableStatement c=conn.prepareCall("{call getsum(?,?)}");//给存储过程的第一个参数设置值 c.setInt(1,100);//注册存储过程的第二个参数 c.registerOutParameter(2,java.sql.Types.INTEGER);//执行存储过程 c.execute();//得到存储过程的输出参数值 System.out.printl...
java中如何调用数据库的存储过程
Java调用存储过程的方法是通过调用Connection的实例方法prepareCall,prepareCall方法返回CallableStatement对象用于填充存储过程的参数。prepareCall方法形参是调用存储过程的sql语句,此参数的语法格式如下:{call storedProcedureName(parameter-list)}其中,storedProcedureName是存储过程名称,parameter-list是存储过程参数...
java 调用存储过程
调用存储过程得直接取得Connetion对象,用到CallableStatement这个对象,Connetion中有个方法:CallableStatement prepareCall(String sql) 。其中的sql就是存储过程调用时字符串形式:{call <procedure-name>[(<arg1>,<arg2>, ...)]},构造完成后就可以用Connetion执行了 ...
求java调用oracle存储过程
当然了,这就先要求要建张表TESTTB,里面两个字段(I_ID,I_NAME)。二:有返回值的存储过程(非列表)存储过程为:CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS BEGIN SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;END TESTB;在java里调用时就用下面的...
在JAVA中怎么调用带参数的存储过程啊??
JDBC调用存储过程: CallableStatement 在Java里面调用存储过程,写法那是相当的固定:Class.forName(...Connection conn = DriverManager.getConnection(.../ p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替 其余地方写法固定 / CallableStatement cstmt = conn.prepareCall("{call p(?
求助JAVA调用MYSQL存储过程的问题
1.数据库存储过程:简单滴说,存储过程就是存储在数据库中的一个程序。2..数据库存储过程作用:第一:存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快 第二:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。第三:存储过程运行比较稳定,不会有太多...
Java调用SQL存储过程、事务
"order by SUP_NAME";下面的代码段使用Connection对象con来创建Statement对象,用于把创建存储过程的SQL语句发送给数据库:Statement stmt = con.createStatement();stmt.executeUpdate(createProcedure);存储过程SHOW_SUPPLIERS将作为一个可调用的数据库对象在数据库中编译并存储,调用时就像调用其他方法一样。
执行存储过程有多少种方法java
这个调用存储过程的Java方法是mapping的一个好例子。Mapping是对一个集上的操作进行抽象的方法。不是在这个过程上返回一个集,可以把操作传送进去执行。本例中,操作就是把ResultSet打印到一个输出流。这是一个值得举例的很常用的例子,下面是调用同一个存储过程的另外一个方法实现: public class ProcessPoetDeaths{ ...
java语言调用mysql存储过程(需要获取到存储过程中的out 变量),_百度...
Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。参数:parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推 返回:保存 OUT 参数值的 java.lang.Object 抛出:SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法 ...
JAVA调用存储过程的问题,指定过多的参数
你的参数有多少个,你为甚么要弄那么多参数。如果确实过多,就把所有的参数拼接到一个字符串里面,然后当一个参数传递进去。最后在存储过程里面给解析出来。