zoukankan      html  css  js  c++  java
  • 存储过程

    存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。分为类似于SELECT查询,用于检索数据和另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。

    参数:输入参数、输出参数、输入输出参数、状态参数(存储过程向客户程序返回错误信息,InterBase不支持)

    语法:

    create or replace procedure 存储过程名(参数1 in dataType)
    is|as<定义以及说明>
    变量1 dataType :=1;
    变量2 date;
    Begin
    …..
    [exception]
    End 存储过程名;
    
    begin
    Select col1,col2 into 变量1,变量2 from database where …
    Exception
    When NO_DATA_FOUND then
      ….
    End;
    
    create or replace procedure 存储过程名(param1 in type,param2 out type) 
    as 
    变量1 类型(值范围); --vs_msg   VARCHAR2(4000); 
    变量2 类型(值范围);
    Begin
    Select count(*) into 变量1 from 表A where列名=param1;
     
        If (判断条件) then
           Select 列名 into 变量2 from 表A where列名=param1;
           Dbms_output。Put_line(‘打印信息’);
        Elsif (判断条件) then
           Dbms_output。Put_line(‘打印信息’);
        Else
           Raise 异常名(NO_DATA_FOUND);
        End if;
    Exception
        When others then
           Rollback;
    End;
    

    调用存储过程:

    1.	begin 
      p1(“…”);
    end;
    2.	exec p1(‘…’)或者 call p1(‘…’)
    

    动态游标

    Declare
     Type xxx is ref cursor
    Begin
     Open xxx for sql语句
    
  • 相关阅读:
    Leecode刷题之旅-C语言/python-67二进制求和
    maven 聚合
    maven 继承
    maven 常用命令
    maven 术语
    maven安装
    RabbitMQ 消费消息
    RabbitMQ 生产消息并放入队列
    RabbitMQ 在 web 页面 创建 exchange, queue, routing key
    mybatis 通过实体类进行查询
  • 原文地址:https://www.cnblogs.com/zyzg/p/7654910.html
Copyright © 2011-2022 走看看