--IFELSE
 

DECLARE

  V_NUM NUMBER;
BEGIN
  V_NUM := 100;
  IF V_NUM > 100 THEN
    --
  ELSIF V_NUM > 50 THEN
    --
  ELSE
    --
  END IF;
END;

 
--带参数存储过程
CREATE OR REPLACE PROCEDURE DELETE_SUBSCRIBER(P_SUBID IN NUMBER) IS
  V_MEM VARCHAR2(100) := '<SQL5.4.4.11R2.p14121911_6861>';
BEGIN
      --。。。
END DELETE_SUBSCRIBER;
/
 
--不带参数存储过程
CREATE OR REPLACE PROCEDURE DELETE_SUBSCRIBER IS
  V_MEM VARCHAR2(100) := '<SQL5.4.4.11R2.p14121911_6861>';
BEGIN
      --。。。
END DELETE_SUBSCRIBER;
/
 
--带参数的函数
其中RETURN字句是必须存在的,一个函数如果没有执行RETURN字句就结束语句会发生错误
CREATE OR REPLACE FUNCTION GET_PRODUCTSTR(P_SUBID IN NUMBER, P_PAYDT DATE)
  RETURN VARCHAR2 IS
  RESULT VARCHAR2(1024);

BEGIN
  MERGE_STR := '';
  FOR V_P IN C_PRODUCTINFO LOOP
    MERGE_STR := MERGE_STR || V_P.PRODUCTNAMESTR || '[R:' || V_P.MONTHFEE || ']. ';
  END LOOP;
  RETURN RESULT;
END;
/
 
--函数可以有默认值
CREATE OR REPLACE FUNCTION CountryNumber(n_max number default 10000,n_min number default 10)
RETURN VARCHAR2 IS
v_resultvalue vacharr2(50);
BEGIN
 
RETURN  v_resultvalue;
END;
 

--异常处理例子
DECLARE
  V_NUM NUMBER(2) := 10;
  V_ZERO NUMBER(2) := 0;
  V_RESULT NUMBER(5);
BEGIN
  V_RESULT := V_NUM / V_ZERO;
EXCEPTION
  WHEN ZERO_DIVIDE THEN
    DBMS_OUTPUT.PUT_LINE('DIVIDE ZERO');
END;
 
异常说明:
DUP_VAL_INDEX:违反唯一性
LOGIN_DENIED: 登陆失败,用户名密码错误
NO_DATA_FOUND:没有发现数据存在
TOO_MANY_ROWS:数据行太多,
ZERO_DIVIDE:除数为0错误
VALUE_ERROR: 算法或转换错误
CASE_NOT_FOUND: 在case语句中发现不匹配的when语句
 
 
DECLARE
  E_OVERNUMBER EXCEPTION;
BEGIN
  IF V_MAX < V_NUM THEN
    -- deal....
    RAISE E_OVERNUMBER;
  END IF EXCEPTION
 
  WHEN E_OVERNUMBER THEN DBMS_OUTPUT.PUT_LINE("ERR MSG");
END;
 
 
 
 
 
 
 
 

【ORACLE】常用脚本的更多相关文章

  1. oracle 常用脚本以及语句

    oracle 常用脚本以及语句 一.oracle 安装10G 单机初始化环境: #!/bin/bash #关闭selinuxsed -i 's\SELINUX=enforcing\SELINUX=di ...

  2. oracle常用脚本

    自动启动oracle sqlplus -S sys/123456 as sysdba <<EOF startup quit EOF lsnrctl start lsnrctl reload

  3. Oracle 常用脚本

    ORACLE 默认用户名密码 sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员 system/manager SYSDB ...

  4. ORACLE常用脚本示例

    create table DBO.INDEX_POLICY_TBL( ID NUMBER(10) NOT NULL PRIMARY KEY, POLICY_ID NUMBER(10,0) defaul ...

  5. Oracle常用脚本——通过RMAN配置RAC环境的分布式磁带机

    RAC的两个节点:node1,node2 RAC的两个实例:dbrac1,dbrac2 用户,密码的东西大家看看就懂了.设置成8能通道的. #!/bin/bash rman target / < ...

  6. Oracle常用语法

    Oracle常用语句语法汇总 Oracle10g 1 第一章Oracle命令 a) 系统管理员连接 conn */* as sysdba b) 查询当前用户 show user c) 创建新用户 cr ...

  7. Oracle常用语句集合

    oracle常用经典SQL查询 常用SQL查询: .查看表空间的名称及大小 )),) ts_size from dba_tablespaces t, dba_data_files d where t. ...

  8. oracle常用SQL语句(汇总版)

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  9. ORACLE常用数据库类型(转)

    oracle常用数据类型 1.Char 定长格式字符串,在数据库中存储时不足位数填补空格,它的声明方式如下CHAR(L),L为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORAC ...

  10. Oracle常用语句

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

随机推荐

  1. 数据存储_ SQLite(3)

    SQLite的应用 一.简单说明 1.在iOS中使用SQLite3,首先要添加库文件 libsqlite3.dylib 2.导入主头文件 #import <sqlite3.h> 二.具体说 ...

  2. jenkins使用简记

    一.安装 jenkins有多种安装方式,可以使用内嵌的Servlet容器运行,也可以基于Apache运行,也可以安装成Linux或Windows服务. 1.使用 Servlet 容器运行 从官网下载 ...

  3. 入门: 使用JNI 从C++代码中调用Java的静态方法

    开发环境: 操作系统: (uname -a output)  Linux ubuntu 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:16:28 UTC ...

  4. tyvj1102 单词的划分

    描述 有一个很长的由小写字母组成字符串.为了便于对这个字符串进行分析,需要将它划分成若干个部分,每个部分称为一个单词.出于减少分析量的目的,我们希望划分出的单词数越少越好.你就是来完成这一划分工作的. ...

  5. 分布式中Redis实现Session终结篇

    上一篇使用Redis实现Session共享方式虽然可行,但是实际操作起来却很麻烦,现有代码已经是这个样子了,总不可能全部换掉吧!好吧,这是个很实际的问题,那么能不能实现无侵入式的分布式Session共 ...

  6. dos 下删除文件、文件夹

    删除文件 /p 删除每一个文件之前提示确认/f 强制删除只读文件 /s 从当前目录及所有子目录删除指定文件/q 安静模式.删除全局通配符时,不要求确认/a 根据属性选择要删除的文件 指定下列文件属性中 ...

  7. proj.4投影变换图示

  8. errno.h

    linux 中c语言使用errno.h头文件来记录错误信息以及定义返回错误代码的宏. strerror(errno)打印错误信息 1. warning: implicit declaration of ...

  9. [Java基础] Java中List.remove报错UnsupportedOperationException

    Java中List.remove(removeRange,clear类似) 报出 UnsupportedOperationException 的错误.原来该List是一个AbstractList,不支 ...

  10. libcpmt.lib 与 msvcprt.lib

    https://msdn.microsoft.com/en-us/library/2kzt1wy3(VS.80).aspx