declare n_found integer; begin select count(*) into n_found from sys.v_$session where TYPE = 'USER' AND USERNAME = SYS_CONTEXT('USERENV','CURRENT_USER'); if n_found < 1 then RAISE_APPLICATION_ERROR(-20001,'未连接!'); else RAISE_APPLICATION_ERROR(-20002,'已连接!'); end if; end;
我的类似情况 declare n_found integer; begin select count(*) into n_found from sys.v_$session where TYPE = 'USER' AND USERNAME = SYS_CONTEXT('USERENV','CURRENT_USER'); if n_found < 1 then RAISE_APPLICATION_ERROR(-20001,'未连接!'); 只将新记录插入本机数据库 else insert into .....向其他数据库插入新记录 end if; end;只是当数据库的连接状态为断开时,连本地数据库的插入新记录也出错,为什么?
n_found integer;
begin
select count(*) into n_found
from sys.v_$session
where TYPE = 'USER' AND USERNAME = SYS_CONTEXT('USERENV','CURRENT_USER');
if n_found < 1 then
RAISE_APPLICATION_ERROR(-20001,'未连接!');
else
RAISE_APPLICATION_ERROR(-20002,'已连接!');
end if;
end;
declare
n_found integer;
begin
select count(*) into n_found
from sys.v_$session
where TYPE = 'USER' AND USERNAME = SYS_CONTEXT('USERENV','CURRENT_USER');
if n_found < 1 then
RAISE_APPLICATION_ERROR(-20001,'未连接!');
只将新记录插入本机数据库
else
insert into .....向其他数据库插入新记录
end if;
end;只是当数据库的连接状态为断开时,连本地数据库的插入新记录也出错,为什么?
在同一个PLSQL中,如果你的当前会话已经断开,说明你已经与Oracle失去联系,根本不能访问任何数据库。