Oracle 操作函数
函数:
1.使用Create Function 语句创建
2.语
法:
Create or replace Function 函数名[参数列表]
Return 数据类型
IS|AS
局部变量
Begin
可执行语句
end;
3.访问函数
-用两种方式进行访问
使用PL/SQL块
使用SQL语句
-仅接受In参数
示例:
create or replace function
GetName(sNo varchar2)
return varchar Is --不能指定精度
name
varchar(12);
Begin
select ename into name from emp
where empno=sNo;
return name;
Exception
when
Too_many_rows then
DBMS_output.put_line('返回值多余一条');
when
Others then
DBMS_output.put_line('在执行函数GetName时出现意外错误!');
End;
/
调用
declare
name varchar(12);
begin
name:=getname('7369');
DBMS_output.put_line('结果为:'||name);
end;
/
数据字典:user_source
编译时出错的数据字
典:user_errors;
或 show errors;
select * from user_source from where
name='GETNAME'; --注意大写
过程与函数
过
程 函数
作为
PL/SQL语句执行 &nb
相关文档:
导出和导入实用程序
q 导出和导入实用程序用于实施数据库的逻辑备份和恢复
q 导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中
q 导入实用程序读取二进制导出文件并将对象和数据载入数据库中 ......
ORACLE数据库对象
——同义词、序列、视图
同义词:同义词是现有对象的别名
简化SQL语句
隐藏对象的名称和所有者
提供对对象的公共访问
同义词分为私有同义词和公有同义词
私有同义词只能在其模式内访问,且不能与当前模式的对象同名。
公有同义词可被所有的数据库用户访问。
以 SYS 用 ......
有表A(字段A1,A2)和表B(字段B1,B2).
字段A2,B2上都有索引.
A,B 表联查
sql1 这个sql 非常快 2秒的样子
select * from A,B where A.A1=B.B1(+) and A2='值1'
sql2 这个sql 慢到让人无法忍受
select * from A,B where A.A1=B.B1(+) and B2='值1'
外联以后 表B上的索引不起作用了.
如果换成内联 速度很快.
sel ......
select p.spid,
a.serial#,
c.object_name,
b.session_id,
b.oracle_username,
b.os_user_name
from v$proces ......
从概念到示例—Oracle创建程序包
一、程序包的相关知识
1.定义与说明
a. 相关对象的封装
b. 程序包的各部分
- 程序包规格说明
声明子程序
- 程序包主体
......