重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果你是在操作系统级别的中断。可以用kill -9 ora*****或者是kill -9 ****** 你想要停掉的那个进程的进程号。这样就可以直接挺掉数据库的调试了。
目前创新互联建站已为上千余家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、观山湖网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
如果数据库里面,你查出这那个session执行的这个操作。之后在数据库中直接中断这个session的连接也可以挺掉调试。
如果你用软件的话,PLSQL Developer 这样的软件,就更容易了。这个就不用我交你了吧。都是按钮方式的。点一下就停了。或者直接就把窗口关掉。只要强行推出就号了。
在代码中加入 pause; 就可以中止当前的SQl,另外你还可以将当前需要的资料显示出来。 便于查询错误。
用以下的sql可以查询出当前session中正在运行的sql信息:
select
s.module,
sql_text,
sn.osuser,
sn.machine,
s.executions
from
sys.v_$sql
s,
sys.all_users
u,
v$session
sn
where
s.parsing_user_id
=
u.user_id
and
upper(u.username)
in
('username')
and
(upper(s.module)
=
'app.exe')
and
sn.sql_hash_value
=
s.hash_value
and
sn.sql_address
=
s.address
order
by
s.last_load_time
create or replace trigger insert_stopbefore insert on tb --tb为你的表名for each rowdeclare insert_excp exception; v_tm varchar2(4);begin v_tm := to_char(sysdate,'hh24mi'); if (to_number(v_tm)=2200 and to_number(v_tm)=2359) or v_tm='0000' then raise insert_excp; end if;exception when insert_excp then dbms_output.put_line('在22:00---00:00不可以插入数据'); when others then dbms_output.put_line(sqlcode || ': '||sqlerrm);end;