`
ITCheng
  • 浏览: 77253 次
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle函数,存储过程,包,视图,数据链总结

 
阅读更多

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数据库提供的一种机制,允许用户为表、视图、过程、函数等数据库对象创建一个别名。这极大地提高了代码的可读性和易用性,特别是在大型企业环境中,当数据库对象的名称较长或者需要隐藏真实的对象名称...

    oracle系统视图作用大全

    Oracle系统视图是Oracle数据库数据字典的重要组成部分,它们提供了关于数据库结构、状态以及活动的详细信息。这些视图对于数据库管理员(DBA)来说至关重要,因为它们可以帮助监控和管理数据库,解决性能问题,以及...

    Oracle非常全的学习总结

    "超详细Oracle教程.pdf"可能涵盖更深入的Oracle知识,包括存储过程、触发器、游标、事务管理、并发控制、数据库链接、PL/SQL编程等。这些高级主题对于开发人员和DBA来说至关重要,因为它们涉及到数据库的复杂操作和...

    oracle 数据库 10g 标准版数据表

    1. **数据表结构**:在Oracle数据库中,数据表是存储数据的基本单元,由列(Columns)和行(Rows)组成。列定义了数据类型和约束,行则代表实际的数据记录。 2. **SQL语法**:创建数据表通常使用`CREATE TABLE`语句...

    SQL(oracle).rar_oracle_oracle sql_oracle 总结_pl sql_sql

    首先,Oracle SQL与标准SQL略有不同,它包含了一些特定于Oracle的功能,如子查询、连接操作、游标、函数和存储过程等。`SQL(oracle).doc`很可能是一份详细的文档,涵盖了这些主题。例如,它可能详细讲解了如何使用...

    Oracle数据库中行迁移、行链接的问题

    这时,Oracle会在第一个数据块(称为链起点)中存储行的一部分,并在后续的数据块中存储剩余部分。每个数据块中都会包含一个指针,指向下一个包含行数据的数据块,形成一个链接链。这种情况下,读取整个行需要访问多...

    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物化视图的查询性能优化.pdf

    总结来说,Oracle物化视图是一种强大的性能优化工具,通过预先计算和存储查询结果,提高查询效率,减轻网络压力,支持大规模部署,并能在离线环境下提供服务。正确使用物化视图可以有效地提升数据库系统的整体性能,...

    PLSql连接64位Oracle工具及文档

    PL/SQL允许开发者编写存储过程、函数、触发器等,以实现更复杂的数据处理逻辑。在PLSQL Developer中,用户可以方便地编写、调试和管理这些PL/SQL代码。 64位PLSQL Developer工具提供了以下功能: 1. **代码编辑**...

    Oracle数据库链Database links

    通过创建 Database links,用户可以访问另一个数据库中的表、视图、同义词、索引、存储过程和函数等对象。 创建 Database links 需要遵循以下步骤: ① 首先,需要创建好 Oracle 的服务(客户端连接服务器端的配置...

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...个完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    Oracle课程设计 Oracle项目实例 Oracle编程

    PL/SQL是Oracle特有的过程式语言,用于编写存储过程、函数和触发器,是实现业务逻辑和数据库交互的关键。 文档资源是学习过程中不可或缺的部分。它们可能包含了详细的步骤指南、代码示例、问题解决方案以及最佳实践...

    Oracle-视图&序列和同义词.ppt

    **视图**是Oracle数据库中一种虚拟表,它并不存储实际数据,而是根据用户定义的SQL查询逻辑从一个或多个表或视图中动态生成数据。视图的主要作用包括: 1. **数据安全性**:通过视图,可以限制用户访问特定的数据行...

    从零开始学习ORACLE

    此外,还需要了解数据库的事务、索引、视图、存储过程等概念。 Oracle数据库的架构包括多个组件,如数据库实例(Database Instance)、数据文件(Data Files)、控制文件(Control Files)、重做日志文件(Redo Log...

    oracle数据开发教程

    第9章可能涉及Oracle的存储过程和函数的高级用法,如游标、异常处理和动态SQL。第10章可能讲解Oracle的PL/SQL编程,包括包、记录类型和程序单元的创建。第11章可能介绍Oracle的数据库链接和分布式数据库概念,这对于...

    Oracle10g US7ASCII 编码中文无法导入sqlserver问题解决

    - **RAW 和 VARCHAR2 格式**:RAW 是 Oracle 中存储二进制数据的一种格式,VARCHAR2 则是存储变长字符串的格式。通过将数据先转换为 RAW 再转换回 VARCHAR2,可以绕过编码问题。 - **DBLink**:Oracle 中的数据库...

    Oracle SQL高级编程

    1. 存储过程和函数:编写使用PL/SQL编程语言的存储过程和函数,以实现复杂的逻辑和业务规则。 2. 高级查询技术:使用Oracle SQL的高级特性,如分析函数、子查询、连接以及数据聚合等。 3. 事务处理:深入理解如何...

Global site tag (gtag.js) - Google Analytics