`

linux 下oracle 命令小结(3)

阅读更多
24、视图:
a)创建视图:
create or replace view 视图名称 as 
select 表A.字段1,表A.字段2,……,表B.字段1,表B.字段2……
from 表A,表B  on 表A. 字段=表B.字段;
b)删除视图:
drop view 视图名称;

25、索引:
a)创建索引:
create index 索引名称 on 表名称 (列名称) [ tablespace 表空间名称];
注:索引还有其他多种类型,请参看书102-103页。
26、游标的使用:
a)动态游标:示例如下:
declare
    存储游标的变量 test_tab%rowtype;
--定义游标
cursor 游标名称 is select * from test_tab where 条件; 
begin
        open 游标名称;--打开游标
           loop – 对游标进行循环操作
              fetch 存储游标的变量 into 游标名称; --将游标的值赋给变量
              exit when 游标名称%notfound; --结束循环的条件
              dbms_output.put_line (游标名称.字段名); --对赋值的变量操作
            end loop;
            close 游标名称;
    end;
b)循环游标:(特点:可以直接对有表进行操作,不需要打开、显示赋值、显示判断结束的条件、关闭游标等) 建议使用改类型游标。示例如下:
declare
      cursor 游标名称 is select * from cs_test where name='chenshan'; 
begin
           for 变量 in 游标名称
            loop
               dbms_output.put_line(变量.字段名称);
           end loop;
end;
c)ref 游标:(特点:可以在运行时才确定游标要执行的sql 语句,更加灵活)。其示例如下:
declare
      type temp is ref cursor;
       aa temp;
begin
     if 条件 then 
        open 游标名称 for select * from cs_test where 条件;
     elsif 条件 then
       open 游标名称for select * from cs_goods where 条件;
     else
         open 游标名称for select * from cs_test where 条件;
     end if;
     fetch 游标名称 into 存储游标的变量
     loop
         具体的操作;
     end loop;
     close 游标名称;
end;
27、过程:
a)创建过程:
create or replace procedure (参数列表)
as
 --本地变量申明
begin
     --过程的主体操作
exception 
        when 条件 then 
            --错误处理;
end;
b):执行过程:
execute 过程名称(参数列表);

注:过程
c):将执行过程的权限授予其他用户
grant execute on  过程名 to 用户名;
注:过程的调用不应该在sql 语句块中;
d):删除过程
drop procedure 过程名;
28、函数:
a):创建函数
create [ or replace ] function function_name(parameter1,parameter2,......)—参数列表
return 要返回的数据类型
is | as
[ 本地变量声明 ];
begin
            【函数主体】;
exception
             when tiaojian then 
                【错误处理主体】;
end;
b):调用函数
可以为查询语句:
select 函数名称 from dual;;
也可以为pl / sql 语句块调用
begin
       。。。。。。。。。。。。
       调用函数;
       。。。。。。。。。。。。
end;
c)将函数的使用权限授予其他用户:
grant execute on 函数名 to 用户名;
d)删除函数:
drop function 函数名称;
29、程序包:
a)程序包规范的创建:
create or replace package cs_manage_findindent as
       --声明函数
function func_addgoodds (goodstypeid  number , goodstypename varchar2) return  varchar2;
       --声明过程
       procedure 过程名称(参数);
       --声明游标
       cursor 游标名称(参数) return 返回的数据类型;
end;
b)程序包主体的创建:
create  [ or  replace ]  package  body  程序包名称  is | as
       --下面是函数主体
function  func_addgoodds ( goodstypeid  number , goodstypename varchar2 ) 
return  varchar2  as
      begin
insert  into  cs_ProduceType  values ( goodstypeid , goodstypename );
           return '操作成功' ;
       exception 
               when others then
                   return '操作失败' ; 
       end ;
      --下面是过程主体
      
procedure 过程名 (参数列表) as
       begin
         过程主体;--(pl/sql 语句块)
      exception
             when others then
                  错误主体;
      end;
       --下面是游标主体
cursor 游标名称 (参数列表) return 应该返回的数据类型(一般为表名称或者为 (表名称 % ROWTYPE) ) is  查询语句;
end;
注:程序包主要是用于包含过程,函数,游标等操作的集合,它的使用能够让pl/sql代码变得更加简洁、易懂,同时管理员管理起来也更加轻松。
程序包分为两个部分:一个为规范声明,另一个为程序包主体。顾名思义,规范声明是声明程序包中具体要实现的各种对象,而程序包主体则是具体实现规范声明中已经声明的各种对象。
程序保就好比是一本书,书的目录就相当于程序保的规范声明,而书中的章节内容就相当于是程序包的主体,它是对目录的一个实现。
30、触发器:
a)创建触发器:
create or replace trigger 触发器名称
before | after [ delete | update | insert ]
on 表名称
for each row 
begin
    --开始实现触发器的主体
insert into cs_test_temp values(:old.name,:old.age,:new.sex);
    dbms_output.put_line('已经启动了触发器!!!'); 
exception
        when others then 
            dbms_output.put_line('发现未知错误!!!'); 
end;
注:before | after 表示改触发器是在事件之前还是事件之后被触发。
[ delete | update | insert ]表示选择可以触发该触发器的事件。
for each row 表示对每一行的修改都会触发该触发器,即创建了一个行级触发器。
:old.name 表示事件之前name的值。
:new.sex   表示事件之后name的值。
31、产生随机数字的语法:
num := dbms_random . random ;
32、删除重复的记录:
delete from 表名称 where id in 
       ( select id from 表名称 group by id having count( * ) > 1) 
and 
          ( select min( rowid ) from 表名称 group by id having count( * ) > 1) ;
注:group by 关键字用于将不重复的字段全部列出,以及将重复的字段列出一个。而having 则表示在group by 语句后的条件关键字,因为在group by 后面不能使用where条件关键字来使用条件语句。
分享到:
评论

相关推荐

    linux下oracle常用命令

    ### Linux环境下Oracle数据库常用命令详解 #### 一、概述 在Linux环境中,Oracle数据库作为一款广泛使用的数据库管理系统,其操作与维护对系统管理员而言尤为重要。本文将详细介绍一系列Oracle数据库在Linux环境下...

    linux重启oracle相关服务

    四、小结 Linux 重启 Oracle 相关服务是一个复杂的过程,需要熟悉 Oracle 和 Linux 命令。通过了解各种重启方法和查看系统参数和硬件信息的命令,可以更好地管理和维护 Oracle 数据库和 Linux 操作系统。 相关...

    Linux修改oracle密码

    小结 修改Oracle密码需要通过SQLPlus连接到数据库实例,然后使用alter user命令修改sys用户和system用户的密码。最后,需要启动监听器,以便其他客户端可以连接到Oracle数据库。在整个过程中,需要注意密码的安全性...

    linux下oracle11g安装.doc

    #### 六、小结 通过以上步骤,可以在 Linux 环境下顺利完成 Oracle 11g R2 数据库的安装。在整个过程中需要注意的是,每一步都需仔细检查和确认,以确保数据库系统的稳定性和安全性。此外,在实际部署环境中,还...

    Linux下安装oracle的常见问题小结

    在Linux环境下安装Oracle数据库时,可能会遇到一系列的问题。本文主要针对三个常见的错误进行了总结和解决方案的提供。 **错误一:缺少libXp.so.6动态链接库** 这个问题出现在尝试运行Oracle安装程序时,系统提示找...

    linux下为oracle做定时备份的操作

    #### 小结 通过上述步骤,我们可以在Linux环境下实现Oracle数据库的定时备份。这种方法不仅简化了数据库管理员的工作流程,还提高了数据的安全性和可靠性。同时,根据实际需求调整备份策略,如增加增量备份、异地...

    SUSE linux常用命令

    ### SUSE Linux 常用命令知识点解析 #### 一、文件操作命令 **1. 复制文件或文件夹** - **命令**: `cp` - **用途**: 用于复制文件或目录。 - **示例**: - 将当前目录下的`123.txt`文件复制到`/home/temp`目录下: ...

    Linux安装Oracle 10g

    #### 八、小结 本文详细介绍了在Linux环境下安装配置Oracle 10g的过程,包括启动和关闭Oracle实例、配置Oracle Enterprise Manager以及使用isqlplus等操作。通过这些步骤,新用户可以快速上手Oracle 10g的管理和...

    oracle环境变量学习小结.

    ### Oracle环境变量学习小结 #### 一、Oracle环境变量的重要性及作用 Oracle数据库系统作为全球最流行的数据库管理系统之一,在企业级应用中占有极其重要的地位。为了更好地管理和配置Oracle数据库,Oracle利用了...

    Oracle Client 卸除 For Linux 手工删oracle客户端软件

    #### 小结 通过上述步骤,我们可以手动地卸载 Linux 系统中的 Oracle Client。需要注意的是,在执行卸载操作之前,应确保已经备份了所有重要的数据和配置文件,以防万一出现意外情况导致数据丢失。此外,卸载过程中...

    OracleASM常用知识小结

    ### Oracle ASM 常用知识小结 #### 一、ASM 概述 **ASM (Automatic Storage Management)** 是 Oracle 10g 引入的一种新型的存储管理技术,旨在为数据库提供高性能、高可用性以及易管理性的存储解决方案。通过 ASM...

    Linux使用小结

    ### Linux使用小结 #### 一、安装中文输入法 1. **进入命令形式的客户端:** 首先确保已经登录到Linux系统的命令行界面。 2. **切换至root用户:** 输入 `su root` 并按Enter键,根据提示输入root用户的密码。 3. ...

    oracle 10201升级10205带图详细文档(linux)转

    ### Oracle 10g (10.2.0.1.0) 升级至 10.2.0.5.0 在 Linux(RHEL5)下的详细步骤 #### 文档概述 本文档旨在提供Oracle 10g从10.2.0.1.0版本升级至10.2.0.5.0版本的操作指南,适用于Linux(RHEL5)系统环境。此文档由...

    Oracle 9i for linux 安装手册

    #### 四、小结 本文档详细介绍了Oracle 9i for Linux的安装准备工作,包括硬件与系统需求、核心参数修改以及用户组和用户的创建等关键步骤。对于初次接触Oracle数据库在Linux平台安装的用户来说,这些信息是非常...

    Linux检查Swap交换空间的五个命令小结

    了解这些命令对于监控Linux系统的性能和优化内存管理至关重要,特别是在资源紧张的情况下,比如运行大型数据库或其他内存消耗高的应用。如果你发现Swap空间不足,可能需要增加Swap分区大小或创建Swap文件,以确保...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    目录 推荐序 前言 第1章 认识Oracle RAC 1.1 RAC产生的背景 1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 ...1.6本章小结 ...2.3.2安装Linux操作系统 ...15.5本章小结

    下载-在linux64上安装oracle11g完整 .docx

    #### 小结 通过上述步骤,可以在 Linux 64 位系统上成功安装并配置 Oracle 11g 数据库。这些步骤不仅可以帮助初学者快速上手,同时也为更高级的用户提供了性能优化和安全性的指导。在整个过程中,需要注意的是保持...

Global site tag (gtag.js) - Google Analytics