jdbc中调用oracle 返回游标类型的存储过程
1、创建表:
create table stud(
sid int,
sname varchar2(50)
)
并插入一条数据
insert into stud values(1,'Tom')
2、通过包定义一个游标
create or replace package pack_stud
is
--声明一个游标类型
type cur is ref cursor;
end;
3、创建存储过程
create or replace procedure pro_select_stud(
my_cur out pack_stud.cur
)
is
begin
open my_cur for select * from stud;
end;
4、jdbc中调用
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import oracle.jdbc.driver.OracleTypes;
public class TestProCur {
public void test(){
Connection con = 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 pro_select_stud(?)}";
&nbs
相关文档:
oracle 进程 会话,游标,事务的关系
如果在LINUX 下 是用TOP 可以看到正在跑的ORACLE 进程。ORACLE 除了后台进程外还有用户进程。
既是开启了并行,也是单独的进程。
PL/SQL DEVELOPER 里的多个查询窗口实际上是进程。
一个进程可以包含多个会话,当它们只能串行运行。比如在一个查询窗口中执行三个SELECT查询。
下面 ......
视图
创建新表:create table emp2 as select * from emp;
create view empv20 as select empno,ename,job,hiredate,deptno from emp where deptno=20 with check option;
语法:create or replace view 视图名称 as 子查询(修改之后的子查询)
替换视图(修改)
create or replace view empv20 as select empno,ename, ......
当用submit建JOB时,JOBID由系统自带SEQUENCE:sys.JOBSEQ生成。
如果一段时间后JOBID过大,可以DROP SEQUENCE sys.JOBSEQ;再重建
create sequence JOBSEQ
minvalue 1
maxvalue 999999999999
start with 1
increment by 1
cache 20;
来重新开始JOBID。
可以用下面语句更新已经建立的JOBID:
UPDATE sys.Job$
SE ......
默认情况下,在Oracle的主机上(linux系统)的Oracle操作系统用户下,以sys用户登陆数据库时可以不用输入密码直接登录。实际上,只要是属于dba组(linux)或osdba组(windows)下,都可以不用密码进行登录。这是认证方式称为OS认证。
这种登录方式的控制,是通过$ORACLE_HOME/network/admin/sqlnet.ora中的:
SQLNET.AUTH ......