--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. centos7安装nexus私服2.14

    今天项目经理叫搭个nexus私服,记录一下 nexus下载比较慢,可在本地下载,然后用sftp上传到linux系统去,下载地址https://www.sonatype.com/download-oss ...

  2. 在Application中集成Microsoft Translator服务之使用http获取服务

    一.创建项目 首先我们来创建一个ASP.NET Application 选择时尚时尚最时尚的MVC,为了使演示的Demo更简单,这里选择无身份验证 二.创建相关类 项目需要引入之前两个类AdmAcce ...

  3. [Head First设计模式]山西面馆中的设计模式——观察者模式

    系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 引言 不知不自觉又将设计模式融入生活了,吃个饭也不得安生,也发现生活中的很多场景,都可以用设计模式来模拟.原来设计模式就在 ...

  4. 大熊君学习html5系列之------requestAnimationFrame(实现动画的另一种方案)

    一,开篇分析 Hi,大家好!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例, 让大家一步一步的体会" ...

  5. Linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?

    打包举例:将 /usr/local/src/zlib-1.2.5目录下的文件打包成 zlib-1.2.5.tar.gz cd /usr/local/src tar -czvf ./zlib-1.2.5 ...

  6. mrjob 使用 mongodb 作为数据源

    When using a mongoDB collection as input, add the arguments -jobconf mongo.input.uri=<input mongo ...

  7. BZOJ2007——[Noi2010]海拔

    1.题意:一个裸的最小割 2.分析:直接转成对偶图最短路就好了,水爆了!(雾) #include <queue> #include <cstdio> #include < ...

  8. Python下RSA加密/解密, 签名/验证

    原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode() import rsa # 生成密钥 (pubkey, privkey) = rsa.newkeys(1 ...

  9. 守护神 Supervisor

    参考: http://linbo.github.io/2013/04/04/supervisor/ http://www.restran.net/2015/10/04/supervisord-tuto ...

  10. linux连接远程桌面

    #!/usr/bin/env python3 #-*-encoding:utf-8-*- import re import os import urllib.request, urllib.parse ...