1.存储过程
2.函数
3.包的创建及其应用
4.视图
5.数据库链
1.创建存储过程及其应用
1.1无参数存储过程
--存储过程(无参数)
create or replace procedure my_proc
is
uname varchar2(10);
begin
select name into uname from users where id=2;
dbms_output.put_line(uname);
end;
1.2存储过程,in
--存储过程(in)
--in类似于写入参数
create or replace procedure my_proc(uid in number)
is
begin
select * from users where id=uid;
end;
--调用
exec my_proc(2)
1.3存储过程,out
--存储过程(out)
--out类似于返回参数
create or replace procedure my_proc(uid out number)
is
uid number;
begin
select id into uid from users where id=2;
end;
--调用
declare
id number;
begin
my_proc(id);
dbms_output.putline(id);
end;
1.4存储过程,in out
--存储过程(in out)
--in out会将存储过程中最终改变的值,进行返回
create or replace procedure my_proc(num1 in out int ,num2 in out int)
is
temp int ;
begin
temp:=num1;
num1:=num2;
num2:=temp;
end;
--调用
declare
n1 int:=10;
n2 int:=20;
begin
dbms_output.put_line(n1||'=='||n2);
my_proc(n1,n2);
dbms_output.put_line(n1||'=='||n2);
end;
2.函数的创建及其应用,函数同样拥有in,out,in out
--函数创建
create or replace function my_fun
return varchar2
is
begin
return 'ss';
end;
---调用1,以表的形式显示
select my_fun as show from dual;
--调用 2
declare
str varchar2(20);
begin
str:=my_fun;
dbms_output.put_line(str);
end;
3.包的创建及其应用
--创建包头
create or replace package my_pack
is
procedure my_proc(uid in number);
function my_fun return varchar2;
end my_pack;
--创建包体
create or replace pack body my_pack
is
procedure my_proc(uid in number)
is
uname varchar2(20);
begin
select name into uname from users where id=uid;
dbms_output.put_line(uname);
end my_proc;
function my_fun
return varchar2
is
begin
return 'hello';
end my_fun;
end my_pack;
--调用
exec my_package.my_proc(2);
select my_package.my_fun from dual;
4.视图的创建及其应用
--视图创建
create view my_view as select * from users where id>25;
--调用
select * from my_view;
--删除
drop view my_view;
5.数据链的创建及其应用
--方法1(改文件)
create database link orcl_link
connect to accp identified by accp using 'ORCL';
--调用
select * from users@orcl_link;
--删除
drop database link orcl_link;
--方法2
create database link orcl_link
connect to accp identified by accp using '
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.4)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
';
分享到:
相关推荐
Oracle 数据字典是数据库管理系统中的一个重要组成部分,它存储着关于数据库结构、权限、表空间、索引、过程、函数等所有对象的相关信息。在Oracle中,数据字典是由一组特殊的系统表和视图组成的,这些表和视图由...
同义词是Oracle数据库提供的一种机制,允许用户为表、视图、过程、函数等数据库对象创建一个别名。这极大地提高了代码的可读性和易用性,特别是在大型企业环境中,当数据库对象的名称较长或者需要隐藏真实的对象名称...
Oracle系统视图是Oracle数据库数据字典的重要组成部分,它们提供了关于数据库结构、状态以及活动的详细信息。这些视图对于数据库管理员(DBA)来说至关重要,因为它们可以帮助监控和管理数据库,解决性能问题,以及...
"超详细Oracle教程.pdf"可能涵盖更深入的Oracle知识,包括存储过程、触发器、游标、事务管理、并发控制、数据库链接、PL/SQL编程等。这些高级主题对于开发人员和DBA来说至关重要,因为它们涉及到数据库的复杂操作和...
1. **数据表结构**:在Oracle数据库中,数据表是存储数据的基本单元,由列(Columns)和行(Rows)组成。列定义了数据类型和约束,行则代表实际的数据记录。 2. **SQL语法**:创建数据表通常使用`CREATE TABLE`语句...
首先,Oracle SQL与标准SQL略有不同,它包含了一些特定于Oracle的功能,如子查询、连接操作、游标、函数和存储过程等。`SQL(oracle).doc`很可能是一份详细的文档,涵盖了这些主题。例如,它可能详细讲解了如何使用...
这时,Oracle会在第一个数据块(称为链起点)中存储行的一部分,并在后续的数据块中存储剩余部分。每个数据块中都会包含一个指针,指向下一个包含行数据的数据块,形成一个链接链。这种情况下,读取整个行需要访问多...
4.9 怎样手工跟踪函数/存储过程执行情况 54 4.10 多种业务使用同一数据库如何分配回滚段 54 4.11 怎样倒出、倒入文本数据 54 4.11.1 倒出 54 4.11.2 倒入 55 4.12 如何更新当前数据库日志备份方式为archive 56 4.13 ...
总结来说,Oracle物化视图是一种强大的性能优化工具,通过预先计算和存储查询结果,提高查询效率,减轻网络压力,支持大规模部署,并能在离线环境下提供服务。正确使用物化视图可以有效地提升数据库系统的整体性能,...
PL/SQL允许开发者编写存储过程、函数、触发器等,以实现更复杂的数据处理逻辑。在PLSQL Developer中,用户可以方便地编写、调试和管理这些PL/SQL代码。 64位PLSQL Developer工具提供了以下功能: 1. **代码编辑**...
通过创建 Database links,用户可以访问另一个数据库中的表、视图、同义词、索引、存储过程和函数等对象。 创建 Database links 需要遵循以下步骤: ① 首先,需要创建好 Oracle 的服务(客户端连接服务器端的配置...
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...个完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...
PL/SQL是Oracle特有的过程式语言,用于编写存储过程、函数和触发器,是实现业务逻辑和数据库交互的关键。 文档资源是学习过程中不可或缺的部分。它们可能包含了详细的步骤指南、代码示例、问题解决方案以及最佳实践...
**视图**是Oracle数据库中一种虚拟表,它并不存储实际数据,而是根据用户定义的SQL查询逻辑从一个或多个表或视图中动态生成数据。视图的主要作用包括: 1. **数据安全性**:通过视图,可以限制用户访问特定的数据行...
此外,还需要了解数据库的事务、索引、视图、存储过程等概念。 Oracle数据库的架构包括多个组件,如数据库实例(Database Instance)、数据文件(Data Files)、控制文件(Control Files)、重做日志文件(Redo Log...
第9章可能涉及Oracle的存储过程和函数的高级用法,如游标、异常处理和动态SQL。第10章可能讲解Oracle的PL/SQL编程,包括包、记录类型和程序单元的创建。第11章可能介绍Oracle的数据库链接和分布式数据库概念,这对于...
- **RAW 和 VARCHAR2 格式**:RAW 是 Oracle 中存储二进制数据的一种格式,VARCHAR2 则是存储变长字符串的格式。通过将数据先转换为 RAW 再转换回 VARCHAR2,可以绕过编码问题。 - **DBLink**:Oracle 中的数据库...
1. 存储过程和函数:编写使用PL/SQL编程语言的存储过程和函数,以实现复杂的逻辑和业务规则。 2. 高级查询技术:使用Oracle SQL的高级特性,如分析函数、子查询、连接以及数据聚合等。 3. 事务处理:深入理解如何...