Oracle 异常
Oracle异常分为3种:
(1)预定义异常:no_data_found等,是Oracle系统定义的异常.
declare
s_test varchar2
begin
select id into s_test from test; --此时test表无数据
exception
when no_data_found then
raise_application_error(-20001, '没有数据');
end;
(2)自定义异常:自己定义的异常,自己抛,自己捕获.
declare
exp_test exception;
begin
if 1 = 1 then
raise exp_test;
end if;
exception
when exp_test then
raise_application_error(-20002, '自定义异常');
end;
(3)非预定义异常.
--这个例子就不需要自己抛,因为已经把主键冲突的异常给覆盖了,所以只要是主键冲突,那么就是exp_test来代替以前那个了.
declare
exp_test exception;
progam exception_init(exp_test ,-1); --覆盖-1这个异常,-1代表主键冲突
begin
insert into test values('1'); --test表的主键存在1这个值.
exception
when exp_test then
raise_application_error(-20003, '主键冲突');
end;
判断参数的.
create or replace procedure addContent_test
(
s_type in varchar2,
s_count in number,
s_language in varchar2
)
is
exp_type exception;
exp_count exception;
exp_language exception;
begin
if s_type <> 50
and s_type <> 51
and s_type <> 52
and s_type <> 53
and s_type <> 54
and s_type <> 55
and s_type <> 56
and s_type <> 57
and s_type <> 0
and s_type <> 2
and s_type <> 3
and s_type <> 99999999 then
raise exp_type;
end if;
if s_count < 1 or s_count > 100 then
raise exp_count;
end if;
dbms_output.put_line(to_number(instr(s_language, ',',1,2)));
if instr(s_language, ',',1,2) > 0 then
raise exp_language;
end if;
exception
相关文档:
使用sys,以sysdba权限登录Oracle:
(普通权限,D:\sqlplus tss/tss123456@buaa)
D:\sqlplus sys/penghj@buaa as sysdba
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integ ......
Oracle 10g 默认安装带来的用户名/密码
Username
Password
Description
See Also
CTXSYS
CTXSYS
The Oracle Text account
Oracle Text Reference
DBSNMP
DBSNMP
The account used by the Management Agent component of Oracle Enterprise Manager to monitor and manage the database
Oracle Enter ......
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO SPACE
--------- --------- -- ......
1.2 管理Jobs
1.2.1 启用Jobs
前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程ENABLE,可以用来修改JOB的启用状态,调用方式非常简单,例如:
SQL> exec dbms_scheduler.enable(& ......
oracle数据库实例启动时,需要分配共享内存,启动后台进程。
oracle数据库使用的内存主要涉及到:PGA和SGA。
一、 PGA
Program Global Area,顾名思义是程序全局区,是服务器进程(Server Process)使用的一块包含数据和控制信息的内存区域,PGA是非共享的内存,在服务器进程启动或创建时分配,并为Server Process排他访 ......