jdbc中调用oracle函数
1、创建表
create table stud(
sid int,
sname varchar2(50),
age number,
score number(4,2))
并插入一些数据(自己手动插入一些吧)
2、创建函数
create or replace function fun_getScores(
v_age in stud.age%type
)
return number
is
v_score number;
begin
select sum(score) into v_score from stud where age > v_age;
return v_score;
--异常处理
exception
when others then
dbms_output.put_line(sqlcode||sqlerrm);
return -1;
end;
3、jdbc中调用
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Types;
public class TestFun {
public void test(){
Connection con = null;
Statement st = null;
ResultSet rs = null;
CallableStatement cst = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
//下面的tan是数据库名,默认是orcl,love是访问密码,默认是tiger,
//1521是端口号,默认是1521
con = DriverManager.getConnection
("jdbc:oracle:thin:@192.168.1.103:1521:tan","scott","love");
String sql = "{? = call fun_getScores(?)}";
cst = con.prepareCall(sql);
cst.registerOutParameter(1, Types.NUMERIC);
cst.setDouble(2, 2);
cst.execute();
double result = cst.getDouble(1);
System.out.println("年龄超过2岁学生的成绩总和 "+result);
}catch(Ex
相关文档:
系统权限: 回收时不会产生级联回收
conn / as sysdba;
create user t1 identified by t1;
create user t2 identified by t2;
grant connect to t1,t2;
grant create table, create view to t1 with admin option;
conn t1/t1
grant create table to t2;
conn / as sysdba;
select * from dba_sys_privs where gra ......
移动表所在表空间:
alter table table_name(表名) move tablespace new_tablespace(新表空间)
用户拥有的存储过程:
select object_name from user_objects where object_type='PROCEDURE'; ......
Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk3.zip
Oracle9i ......
1、创建表:
create table stud(
sid int,
sname varchar2(50)
)
并插入一条数据
&n ......