精华内容
下载资源
问答
  • oracle删除存储过程语句
    2021-05-01 10:44:53

    一、不带参存储

    用如下一个存储做例子:

    create or replace procedure testwhileloop IS

    v_count number := 0;

    begin

    while v_count < 10 loop

    v_count := v_count + 2;

    dbms_output.put_line('v_count:' || v_count);

    end loop;

    end testwhileloop;

    执行如下命令:

    SQL> set serveroutput on;

    SQL> exec testwhileloop;

    v_count:2

    v_count:4

    v_count:6

    v_count:8

    v_count:10

    PL/SQL procedure successfully completed

    SQL> drop procedure testwhileloop;

    Procedure dropped

    SQL>

    其中:

    exec testwhileloop; 命令用于执行存储

    drop procedure testwhileloop; 命令用于删除存储

    二、带参存储

    create or replace procedure testwhileloop(

    i_count number

    ) IS

    v_count number:=i_count;

    begin

    while v_count < 10 loop

    v_count := v_count + 2;

    dbms_output.put_line('v_count:' || v_count);

    end loop;

    end testwhileloop;

    执行如下命令:

    SQL> exec testwhileloop(1);

    v_count:3

    v_count:5

    v_count:7

    v_count:9

    v_count:11

    PL/SQL procedure successfully completed

    SQL> drop procedure testwhileloop;

    Procedure dropped

    SQL>

    其中:

    exec testwhileloop(1); 命令用于执行存储

    drop procedure testwhileloop; 命令用于删除存储

    更多相关内容
  • 今天在做问题调查的时候,发现在代码中调用了一个存储过程,使用下面的SQL查看了一下存储过程的具体内容: SELECT text FROM user_source WHERE NAME = ‘F_GOF_TASK_CLOSE’ ORDER BY line; 虽然里面的内容很长很多...

    今天在做问题调查的时候,发现在代码中调用了一个存储过程,使用下面的SQL查看了一下存储过程的具体内容:
    SELECT text FROM user_source WHERE NAME = ‘F_GOF_TASK_CLOSE’ ORDER BY line;
    虽然里面的内容很长很多,但也都能看得懂。
    不过这个存储过程不是自己写的,以前也没有写过,所以想着,自己能不能写一个呢?然后就学习了一下存储过程的语法什么的。

    存储过程语法:
    CREATE OR REPLACE PROCEDURE 存储过程名字
    (
    参数1 IN NUMBER,
    参数2 IN NUMBER
    ) AS
    变量1 INTEGER :=0;
    变量2 DATE;
    BEGIN
    –存储过程具体内容
    END 存储过程名字

    比如我们要创建一个存储过程 MY_FUNCTION:
    CREATE OR REPLACE PROCEDURE MY_FUNCTION (
    parm1 IN VARCHAR2, --parm1 是调用存储过程的时候需要传递的参数,使用IN关键字,代表传入参数。
    trnval1 OUT Number --rtnval1 是存储过程的返回值,使用OUT关键字,代表输出的值。
    ) AS
    var1 Number :=0;
    BEGIN
    SELECT COUNT(*) INTO var1 FROM V_GOFSITRX WHERE REF_NO= parm1;
    IF var1 = 0 THEN
    trnval1 :=0;
    END IF;
    IF var1 = 1 THEN
    trnval1 :=5;
    END IF;
    END MY_FUNCTION;

    调用存储过程:
    DECLARE
    rtn_val Number(2);
    BEGIN
    MY_FUNCTION(‘ASD105’,rtn_val);
    DBMS_OUTPUT.put_line(rtn_val);
    END;

    输出结果:
    在这里插入图片描述
    如果看不到DBMS_OUTPUT.put_line的输出结果,可以执行:set serveroutput on;

    下面附上存储过程删除语句:

    DROP PROCEDURE 存储过程名;

    如:DROP PROCEDURE MY_FUNCTION;

    在这里插入图片描述

    展开全文
  • oracle删除存储及调用存储的命令

    千次阅读 2021-05-01 10:45:49
    一、不带参存储 用如下一个存储做例子: create or replace procedure testwhileloop IS v_count number := 0;begin while v_count 10 loop v_count := v_count + 2; dbms_output.put_line(v_count: || v_count); ...

    一、不带参存储 用如下一个存储做例子: create or replace procedure testwhileloop IS v_count number := 0;begin while v_count 10 loop v_count := v_count + 2; dbms_output.put_line(v_count: || v_count); end loop;end testwhileloop; 执行如下命令

    一、不带参存储

    用如下一个存储做例子:

    create or replace procedure testwhileloop IS

    v_count number := 0;

    begin

    while v_count < 10 loop

    v_count := v_count + 2;

    dbms_output.put_line('v_count:' || v_count);

    end loop;

    end testwhileloop;

    执行如下命令:

    SQL> set serveroutput on;

    SQL> exec testwhileloop;

    v_count:2

    v_count:4

    v_count:6

    v_count:8

    v_count:10

    PL/SQL procedure successfully completed

    SQL> drop procedure testwhileloop;

    Procedure dropped

    SQL>

    其中:

    exec testwhileloop; 命令用于执行存储

    drop procedure testwhileloop; 命令用于删除存储

    二、带参存储

    create or replace procedure testwhileloop(

    i_count number

    ) IS

    v_count number:=i_count;

    begin

    while v_count < 10 loop

    v_count := v_count + 2;

    dbms_output.put_line('v_count:' || v_count);

    end loop;

    end testwhileloop;

    执行如下命令:

    SQL> exec testwhileloop(1);

    v_count:3

    v_count:5

    v_count:7

    v_count:9

    v_count:11

    PL/SQL procedure successfully completed

    SQL> drop procedure testwhileloop;

    Procedure dropped

    SQL>

    其中:

    exec testwhileloop(1); 命令用于执行存储

    drop procedure testwhileloop; 命令用于删除存储 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

    展开全文
  • Oracle 存储过程的创建,调用和删除

    千次阅读 2019-08-31 22:40:17
    创建存储过程的语法: create or replaceprocedure <procedure_name> [(<parameter list>)] as|is <local variable statements>--创建过程,可指定运行过程需传递的参数 begin <...

    创建存储过程的语法:

    create or replace  procedure <procedure_name>

    [(<parameter list>)]

    as|is

     <local variable statements>   --创建过程,可指定运行过程需传递的参数

    begin

     <executable statements>       --包括在过程中要执行的语句

     [exception

     <exception handlers>]         --处理异常

    end;

     实例:

    1.创建无参的存储过程

    create or replace procedure first_proc
    is
    begin
      dbms_output.put_line('我是存储过程');
      dbms_output.put_line('hello everyone!');
    end;
    

    无参存储过程的调用

    begin
      first_proc;
    end;

     或

    exec first_proc;

    2.创建带输入参数的存储过程

    create or replace procedure second_proc
    (
      v_empno in empnew.empno%type
    )
    is
    begin
      --根据员工号删除指定的员工信息
      delete from empnew where empno = v_empno;
      
      --判断是否删除成功
      if sql%notfound then
        --创建我们自己的异常条件,当Oracle不会抛出它们时 -2000至20999之间
        raise_application_error(-20008,'指定删除的员工不存在!');
      else
        dbms_output.put_line('删除成功!');
      end if;
      
    end;

    调用带输入参数的存储过程:

    begin
      second_proc(131854);
    end;

    3.创建带有输出参数的存储过程

    create or replace procedure third_proc
    (
       v_deptno in number,
       v_avgsal out number,
       v_cnt out number
    )
    is
    begin
      select avg(sal),count(1) 
      into v_avgsal,v_cnt
      from emp
      where deptno = v_deptno;
      
      exception
        when no_data_found then
          dbms_output.put_line('没有此部门!');
        when others then
          dbms_output.put_line(sqlerrm);--打印异常信息
        
    end;

    调用带有输出参数的存储过程:

    declare
      v_avgsal number;
      v_cnt number;
    
    begin 
      third_proc(10,v_avgsal,v_cnt);
      --打印结果
      dbms_output.put_line(v_avgsal);
      dbms_output.put_line(v_cnt);
    end;

    4.创建带有输入输出参数的存储过程

    create or replace procedure four_proc
    (
        v_num1 in out number,
        v_num2 in out number
    )
    as
        --定义变量
        v_temp number :=0;
    begin
      v_temp := v_num1;
      v_num1 := v_num2;
      v_num2 := v_temp;
    end;

    调用带有输入输出参数的存储过程:

    declare
      v_num1 number:=10;
      v_num2 number:=20;
    begin
      four_proc(v_num1,v_num2);
      --打印结果
      dbms_output.put_line(v_num1);
      dbms_output.put_line(v_num2);
    end;

     

    删除存储过程:

    drop procedure 存储过程名称;

     

    说明:

    raise_application_error 是Oracle内置的函数,用于在plsql使用程序中自定义不正确消息。

    raise_application_error的声明语法:

    raise_application_error(error_number,error_message,[keep_errors]);

    其中

    error_number是一个错误号,值在-20000到-20999之间

    error_message是与该错误相连的错误消息文本,并且该消息的长度无法超过2048字节;

    keep_errors是一个boolean值。该参数是可选的。如果keep_errors为TRUE,则这个新的错误将加在已产生的错误列表之后。如果keep_errors为FALSE,则这个新错误将代替当前的错误列表。

    展开全文
  • Oracle 使用存储过程批量删除
  • 大家好,我最近在用C#访问Oracle数据库 进行数据批量删除的操作,存储过程如下,在调试过程中,程序会自动中断。存储过程:PROCEDURE PRO_LIST_DELETE(IN_LIST_IDS IN NVARCHAR2,OUT_RESULT OUT NUMBER)ASBEGINOUT_...
  • 存储过程用于完成特定功能的SQL语句集合,编译完后存储在数据库中,不同的程序在执行同一个SQL的时候可以直接调用存储过程无需重新写sql语句。 优点: 模块化程序、需只要调用无需传输SQL,加快SQL执行速度,提高安全...
  • 有book及book_copy两个表,要根据book_copy表中的某几个字段删除...存储过程如下:CREATE OR REPLACE PROCEDURE PROC_DEL_RECORDS IS v_cur_records INTEGER := 0; BEGIN LOOP --若表中已无数据,则退出循环 SELEC...
  • oracle删除语句是什么?_数据库

    千次阅读 2021-05-03 01:30:19
    oracle删除语句是【DELETE (删除数据内外纪录的语句) DELETE FROM表名 WHERE 前提;】,要删除一个大内外的悉数纪录,能够用语句【TRUNCATE TABLE 表名;】。 oracle删除表语句删除表(纪录和构造)的语名delete ——...
  • ORACLE存储过程实现添加、修改、删除、查询
  • 批量删除表、视图、序列、存储过程、函数前,生成对应的SQL执行脚本,然后执行生成对应的脚本即可: 一、删除数据库表 -- 生成删除oracle数据库表的脚本语句 select 'drop table ' || table_name || ';' as sql...
  • Oracle存储过程DELETE示例

    千次阅读 2020-05-25 04:32:04
    这是Oracle数据库中的DELETE存储过程示例。 1.表SQL脚本 DBUSER表创建脚本。 CREATE TABLE DBUSER ( USER_ID NUMBER (5) NOT NULL, USERNAME VARCHAR2 (20) NOT NULL, CREATED_BY VARCHAR2 (20) NOT NUL...
  • -- ORACLE如何使用存储过程实现添加、修改、删除、查询?--现在我以scott用户中的EMP表给大家详细讲解。SELECT * FROM EMP;------------------------------------- * 添加 *--------------------------------------- ...
  • 存储过程执行增删改查sql   下边是一个简单的数据库表,为了方便,我都定义成了varchar 类型。 1、存储过程执行增加sql   首先写一个增加的存储过程: create or replace procedure test_add_procedure ...
  • 现拥有 Oracle 11g OCP/OCM、 Mysql、Oceanbase(OBCA)认证 分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证 从业8年DBA工作,在数据库领域有丰富的经验 B站主播Oracle、Mysql、PG实战课程,请搜索:jeames...
  • Oracle 删除所有表,视图,序列,函数,存储过程等SQL语句文档。
  • oracle删除语句

    千次阅读 2019-04-19 16:17:00
     DELETE(删除数据表里记录的语句)  DELETEFROM表名WHERE条件;  注意:删除记录并不能释放ORACLE里被占用的数据块表空间.它只把那些被删除的数据块标成unused.  如果确实要删除一个大表里的全部记录,...
  • ORACLE存储过程

    万次阅读 多人点赞 2018-11-02 18:14:48
    oracle存储过程 目录 一.什么是存储过程 二.为什么要写存储过程 三.存储过程基础 1.存储过程结构 2.存储过程语法 3.pl/sql处理存储过程 四.存储过程进阶 1.BUIK COLLECT 2.FORALL 3.pl/sql调试存储过程 ...
  • oracle删除语句

    万次阅读 2017-08-29 17:12:27
    1、删除用户语句: //保证有删除用户的权限 drop user user_name cascade; 2、授权 grant connect,dba to 用户名;3、三种删除语句 如下引用 http://www.cnblogs.com/8765h/archive/2011/11/25/2374167.html 内容...
  • oracle删除语句delete,truncate,drop的几种方式区别 我自由我心 2018-04-09 09:15:55 4184 收藏 8 分类专栏: Oracle 文章标签: Oracle drop delete truncate 版权 Oracle 专栏收录该内容 6 篇文章0 订阅 订阅...
  • SQL命令查询Oracle存储过程信息(代码内容等)SELECT * from ALL_SOURCEwhere TYPE='PROCEDURE' AND TEXT LIKE'%0997500%';--查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息。...
  • oracle drop 存储过程

    2021-05-02 03:59:17
    Oracle删除用户遇到的问题我新建了一个用户xy,并导入了一些表,序列,存储过程在其中。现在我用删除该用户出现问题执行drop user xy,报错ORA-01922: 必须指定 CASCADE 以删除 'XY'问题原因CASCADE众所周知是级联...
  • 工作上也没什么事情,一天都琐碎的事,空闲时间比较多,自己可以随意安排。...好久都没有写过Oracle存储过程了,一般写查询语句比较多,自己就试着写了一下插入、删除、修改记录的存储过程。插入:代...
  • oracle 存储过程以及plsql语句

    万次阅读 2016-04-13 22:40:41
    1、 PLSQL语法 1.1、程序结构  PL/SQL程序都是以块(block)为基本单位。整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分...而且每条语句均由分号隔开。 /*
  • Oracle存储过程编写与调用

    千次阅读 2022-01-02 19:43:07
    编写规范的Oracle存储过程并调用,适用于ERP行业的从业者,互联网公司千万别写存储过程
  • 起因事情是这么发生的:当天网络不好,一个简单的查询语句都会卡一下,在完成一个存储过程之后点击编译,plsql就卡住了。在等待了一段时间后,plsql还是没有响应,我以为是网络太卡导致,就直接结束了plsql的进程,...
  • oracle存储过程使用

    2022-01-14 12:02:09
    首先介绍删除oracle上自定义的存储过程语句 drop procedure 存储过程的名字 当存储过程编写完成,需要运行测试语句。还有一种是用pl/sql操作的,此处只介绍存储过程测试语句 call 存储过程的名字(入参) 存储过程...
  • oracle grant 授权语句

    千次阅读 2021-05-06 01:24:29
    oracle grant 授权语句--select * from dba_users; 查询数据库中的所有用户--alter user TEST_SELECT account lock; 锁住用户--alter user TEST_SELECT account unlock; 给用户解锁--create user xujin identified ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 129,377
精华内容 51,750
关键字:

oracle删除存储过程语句