zoukankan      html  css  js  c++  java
  • Oracle Procedure

    存储过程基本语法

    CREATE OR REPLACE PROCEDURE <procedure_name> [(<parameters>)] 
    IS 
         [declare section] 
    BEGIN
         [<statement(s)>]
    [EXCEPTION <exception handler(s);]
    END [<procedure_name>];

      <>表示必须有,[]表示可选。

    简单的例子

    1、直接往表里插入一条记录

      1)建立一个测试的表

    --测试表 EMP
    create table EMP
    (
      ID        NUMBER,
      TAX       NUMBER,      --税收
      INSURANCE NUMBER       --保险
    )

      2)利用存储过程插入一条记录,不带参数

    --存储过程proc_insert_emp,往表EMP中插入一条记录
    CREATE OR REPLACE PROCEDURE proc_insert_emp
    IS
    BEGIN
         insert into emp(id,tax,insurance) values(3,100,500);--向emp表插入一条记录
         commit;--提交事务
    END proc_insert_emp;

      3)利用存储过程插入一条记录,带参数

    --存储过程proc_insert_emp,往表EMP中插入一条记录
    CREATE OR REPLACE PROCEDURE proc_insert_emp(
           id IN NUMBER,        --输入参数,接收ID值
           tax IN NUMBER,       --输入参数,接收税收的值
           insurance IN NUMBER  --输入参数,接收保险的值
    )
    IS
    BEGIN
         insert into emp(id,tax,insurance) values(id,tax,insurance);--向emp表插入一条记录
         commit;--提交事务
    END proc_insert_emp;

      调用:

    exec proc_insert_emp(4,500,600);

      4)带输出参数

    --存储过程proc_deduction,计算扣除税收和保险
    CREATE OR REPLACE PROCEDURE proc_deduction(
           emp_id IN NUMBER,        --输入参数,接收ID值
           deduction OUT NUMBER     --输出参数
    )
    IS
    BEGIN
           select tax + insurance into deduction
           from emp where id = emp_id;
    END proc_deduction;
         

      调用:

    set serveroutput on;
    declare
        deduction number;
    begin
        proc_deduction(2,deduction);
        dbms_output.put_line('deduction is:'||deduction);
    end;
  • 相关阅读:
    Java的五个基础面试题 容易搞倒老手的
    新北邦java笔试题
    Mysql面试题及答案
    MySQL取得当前时间的函数是什么 格式化日期的函数是什么
    mysql索引优化面试题
    介绍一下mysql的日期和时间函数
    MYSQL面试题:简单叙述一下MYSQL的优化
    不少程序员都会碰到的三个面试题
    HTTP URLEncoding
    Comparable vs. Comparator in Java
  • 原文地址:https://www.cnblogs.com/luxh/p/2640411.html
Copyright © 2011-2022 走看看