1 用plsql 连接 plsql cyts_cc/cyts_cc@cyts
2 sqlplusw 打开oracle sql*plus 界面。
3 plsql 中commond window 实现了sql*plus 的所有功能。
4 programmer window 和 test windown 实现了编程和调试的功能。
5 pl/sql 的结构
create or replace procedure test
declare
c_name varchar(5);
begin
select name into c_name from emp where id=@no;
dbms output.put_line('客户名称:'||c_name);
exception
when no_data_found then
dbms_output.put_line('请输入正确雇员号!');
end test;
输入no得值
6 匿名块/命名块
命名块主要是为了在嵌套结构是区分层次
<<outter>>
declare
c_name varchar(5);
begin
<<inner>>
begin
....
end;
select name into c_name from emp where id=@no;
dbms output.put_line('客户名称:'||c_name);
exception
when no_data_found then
dbms_output.put_line('请输入正确雇员号!');
end test;
7 调用 存储过程
exec pro_name
call pro_name
8 调用函数
call anual_income into income
9 保用于逻辑作合相关的过程和函数,包括包头,和包体,在包头中只定义存储过程or函数,在包体中
定义实现。
10 标量变量
varchar2(n)max 4000 char(n) max 2000 number(p,s) p 总的位长,s 小数电后面的位长
date ,timestamp,long(类似于varchar) max 32760,long raw 二进制 32760
binary_fload 和 binary_double oralce 10g 用于高精度计算高速计算。
11 定义标量变量
c_max_value constant number(3,2):=5.5
constant,default,not null,:=
12 %type
13 复合变量
1 pl/sql 记录 类似于高级语言中的结构
type emp_record_type is record(
name emp.ename%type
salary emp.sal%type);
emp_record emp_record_type;
2 pl/sql 表,类似于高级语言中的数组,单其下标可以为负,且元素个数没有上下限。
declare
type ename_table_type is table of emp.ename%type
index by binary_integger;
ename_table ename_table_type;
select ename into ename_table(-1) from emp where &enomo='1118'
3 嵌套表结构还有些看不懂,先放下,以后在看
14 参照变量
参照变量是指由于存放指针的变量。通过石油参量变量可以使用相同的对象。
1 ref cursor
当显示游标时,需要在定义显示游标时制定响应的select语句,当使用游标变量时,在定义是不需
指定select 语句,而是在游标指定select 语句
declare
type c1 is ref cursor
emp_cursor c1
...............
begin
ipen emp_cursor for select ename,sal from emp where deptno=10;
loop
fetch emp_sursor into v_ename,v_sal;
exit when emp_cursor%not found
...........
end loop;
close emp_sursor;
2 ref obj_type
可以引用对象类型
create or replace type home_type as object(
street varchar2(50),city varchar2(20),
owner varchar(10)
);
create table homes of home_type;
insert into homes values('222','3333');
create table person(
id number(6) primary key,
name varchar2(10),
addr ref home_type
);
inert into person select 1,'22',ref(p) from homes p where p.owner='22'
14 lob 变量
lob 分为内部lob(clob,blob,nclob ) 和外部lob(bfile),内部lob 存在数据库内,支持事务。外部
lob 存在外部,不支持事务