非sys用户下存储过程对v$视图的使用(转) (
要在非sys用户下存储过程中使用v$xxx视图,还是尽量使用动态sql,并设置AUTHID CURRENT_USER特征让本存储过程可以使用当前用户的角色权限。[@more@]QL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/SQL Release 10.2.0.3.0 - ProductionCORE 10.2.0.3.0 ProductionTNS for Solaris: Version 10.2.0.3.0 - ProductionNLSRTL Version 10.2.0.3.0 - Production写一存储过程从v$datafile中获取记录数:S
转:Oracle的异常处理
oracle提供了预定义例外、非预定义例外和自定义例外三种类型。其中l 预定义例外用于处理常见的oracle错误;l 非预定义例外用于处理预定义所不能处理的oracle错误;l 自定义例外处理与oracle错误无关的其他情况。[@more@]Oracle代码编写过程中,如果捕捉例外则会在plsql块内解决运行错误,否则将错误传递到调用环境。 常用预定义例外:为了处理各种常见的oracle错误,plsql为开发人员提供了二十多个预定义例外,每个预定义例外都对应一个oracle系统错误。Access_info_null(ora-06530):当访问没有初始化的对象时触发。Case_not_found(ora
转载:Oracle 触发器 插入,更新,删除,数据同步,两表同步
create table A( ID NUMBER not null,NAME VARCHAR2(20),SEX VARCHAR2(4))create table B( ID NUMBER not null,NAME VARCHAR2(20),SEX VARCHAR2(4))create or replace trigger aTOb after insert or update or deleteon A for each rowdeclareintegrity_error exception;errno integer;errmsg char(200);dummy integer;found boolean;beginif inserting theninsert into B(ID,name,sex) values(:NEW.ID,:NEW.name,:NEW.sex);elsif updating then update B set ID=:NEW.ID,name=:NEW.name,sex = :new.sex where id=:OLD.id;elsif deleting
sql 中的with 语句使用
一直以来都很少使用sql中的with语句,但是看到了一篇文章中关于with的使用,它的确蛮好用,希望以后记得使用这个语句。一、with 的用法With alias_name as (select1)[,alias_namen as (select n) ]--中括号可以省略Select ….举例,如下两表:A BID NAME ID NAME1 LI 1 LI2 QIN 3 SUN语句如下:例1with test_with as(select * from A) select * from B where B.id in(select id from test_with)例2with test_with1 as(select * from A),test_with2 as(select * from B)select * from B where B.id in(select id from test_with1)union all