Oracle学习笔记摘录6
declare
begin
--SQL语句
--直接写的SQL语句(DML/TCL)
--间接写execute immediate <DDL/DCL命令字符串>
--select 语句
<1>必须带有into子句
select empno into eno from emp
where empno =7369;
<2>只能查到一行**********
<3>字段个数必须和变量的个数一致
exception
--异常
when <异常名字> then --特定异常
<处理语句>
when others then --所有异常都可捕获
<处理语句>
end;
<例子>
编写程序 向DEPT表中插入一条记录,
从键盘输入数据,如果
数据类型输入错误要有提示
无法插入记录 也要有提示
只能输入正数,如果有负数提示
declare
n number;
no dept.deptno%type;
nm dept.dname%type;
lc dept.loc%type;
exp exception; --异常的变量
exp1 exception;
num number:=0; --计数器
pragma exception_init(exp,-1); --预定义语句
--(-1错误和异常变量关联)
pragma exception_init(exp1,-1476);
e1 exception; --自定义异常变量
begin
--输入值
no := '&编号';
num := num + 1;
if no < 0 then
raise e1; --自定义异常的引发
&
相关文档:
in 的话, 如果是null 就不比较了,既不是in 也不是 not in
exists的话 因为用 = 加在条件里比较了,所以 null 是 not exists
select *
from pricetemp
where cast(商品コード as varchar(10))not in(
select shohin_cd
&nbs ......
1.首先需要建立plan table,否则不能使用
建立方法:
$oracle\rdbms\admin下有个
utlxplan.sql
其内容为:
create table PLAN_TABLE (
statement_id varchar2(30),
timestamp date,
remarks varchar2(80),
operat ......
最近有一任务,需要使用Oracle数据库,以前对此不太熟悉,就从网上查找资料,(说实在的网络真是太好了,也多亏了许多的热心的技术人员,愿意把自己的经验和心得与大家分享)并转贴了一个帖子参考,不过此帖子有些地方没有说清楚,确实让我费了好大劲,才测试成功。下面我把我的步骤说明一下:(环境:Windows XP sp2 + vs ......
申明oracle函数,及其结果集结构
结果集必须为全局的、table of 不能用index by
CREATE OR REPLACE TYPE EMPARRAY is object (corporationId number);
CREATE OR REPLACE TYPE EMPARRAY2 is table of EMPARRAY;
create or replace function func_empl return sys_refcursor is
Result sys_refcursor;
......
转自某地,对作者很愧疚- -!不晓得地址了..
ORACLE多表查询优化
这里提供的是执行性能的优化,而不是后台数据库优化器资料:
参考数据库开发性能方面的各种问题,收集了一些优化方案统计如下(当然,象索引等优化方案太过简单就不列入了,嘿嘿):
执行路径:ORACLE的这个功能大大地提高了SQL的执行性能并节省了内存的使用: ......