精华内容
下载资源
问答
  • 查看当前用户下的存储过程: select * from user_procedures; 查看所有用户(注意有查询权限) select * from all_procedures;  oracle存储过程中is和as的区别?  在存储过程(PROCEDURE)和函数(FUNCTION)中没有...

    游标就是数据的缓存区,PLSQL不允许输出集合值,只能输出单个属性,游标你就可以把它理解为ajax中的RowData

    1查看当前用户下的存储过程:

    select * from user_procedures;

    2查看所有用户(注意有查询权限)

    select * from all_procedures;

    3 oracle存储过程中is和as的区别? 
    在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别,在视图(VIEW)中只能用AS不能用IS,在游标(CURSOR)中只能用IS不能用AS。

    如何创建存储过程?

    4在procedures文件目录中右击新建,可以输入多个参数(之间用逗号隔开),也可以不输入参数当做无参存储过程,如果创建不成功,会报错误红色标识,编辑查看,会报出具体的错误信息

    5如何执行存储过程?

    重开一个命令行窗口,输入 exec 存储过程名即可

    6 如何调试存储过程?

    选中一个存储过程,右击view,在打开的程序中,双击 即为断点, 然后再在改存储过程右击 选中test,进行调试,点击 放大镜图标的 按钮即为开始,点击三角复核,即为开始调试


    7oracle存储过程与函数的区别

    1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有
    2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用.
    函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)

    8oracle存储过程游标使用疑问

    create or replace procedure d_1 is
    type my_cur is ref cursor;
    cur my_cur;
    begin
    for cur in (select * from t_t)
    loop
    dbms_output.put_line(cur.name);
    exit when cur%notfound;
    end loop;
    CLOSE cur;
    end;
    为什么执行时会在
    exit when cur%notfound;语句就报错,CLOSE cur;关闭游标也会报错,不太明白是什么原因,求指教
    游标遍历数据有两种写法
    方法二:
    begin
     open test_cursor for select ename,sal from emp where deptno=&no;
    loop
     fetch test_cursor into v_ename,v_sal;
     exit when test_cursor%notfound;
     dbms_output.put_line('名字:'||v_ename);
    与之前一种方法有什么实质的区别么
    1、for t_name  in (select ...) loop
    这个是隐式游标,相当于一个结果集,隐式Cursor由系统自动打开和关闭。
    exit when %notfound是配合fetch使用,没有fetch就不需要。
    
    你第一个存储过程可以这样写:
    create or replace procedure d_1 is
    begin
    for cur in (select * from t_t)  ---这个cur是隐式游标,无需定义,直接使用。
    loop
    dbms_output.put_line(cur.name);
    end loop;
    end;
    /
    2、使用的是标准的显式游标
    a 定义游标---Cursor  [Cursor Name]  IS;
    b 打开游标---Open  [Cursor Name]; 
    c  操作数据---Fetch  [Cursor name] 
    d  关闭游标---Close [Cursor Name]
    


    展开全文
  • 在数据库中创建存储过程: 1在数据库中根据表建立存储过程(记住存储过程的名字【你自己建的】)后面调用的时候直接call +名字(参数) 二.调用存储过程: dao中:public Double findSalEname(String name); ...

    这里写图片描述

    一 .在数据库中创建存储过程:
    1在数据库中根据表建立存储过程(记住存储过程的名字【你自己建的】)后面调用的时候直接call +名字(参数)
    这里写图片描述

    二.调用存储过程:
    dao中:public Double findSalEname(String name);
    daoimpl实现中:
    这里写图片描述

    展开全文
  • 创建存储过程和java调用存储过程

    千次阅读 2015-12-16 18:05:36
    创建存储过程--get_jobname create or replace procedure get_jobname(v_jobid in varchar2,v_jobname out varchar2) as begin select job_name into v_jobname from schedule_job where job_id = v_jobid; --变量...

    创建存储过程--get_jobname

    create or replace procedure get_jobname(v_jobid in varchar2,v_jobname out varchar2)
    as
    begin
      select job_name into v_jobname from schedule_job where job_id = v_jobid; --变量赋值
    
    end get_jobname;
    

    java调用存储过程

    public static void main(String[] args) {
    	Connection conn=JdbcTool.getConnByJdbc();
    	String pro_param="26D9542B27A8663CE0531480140ABFE4";
    	String procedure="{call get_jobname(?,?)}";  
    	try {
    		 CallableStatement cs=conn.prepareCall(procedure);
    		 cs.setString(1, pro_param);
    		 cs.registerOutParameter(2, oracle.jdbc.OracleTypes.VARCHAR);
    		 cs.execute();
    		 String outpara=(String) cs.getObject(2);
    		 System.out.println(outpara);
    	}catch (Exception e) {
    		e.printStackTrace();
    	}finally{
    		JdbcTool.closeConnection(conn);
    	}
    }
    con.commit();
    cs.close(); //必须的代码,否则执行成功但是数据库没有记录

    展开全文
  • mysql 创建事件调用存储过程

    千次阅读 2018-12-24 15:17:13
    -- 创建存储过程 create PROCEDURE event_insert()  begin  INSERT into settlement(date,num)  select create_time,id from car_info ; end ; -- 调用存储过程 call event_insert();   ...

    -- 删除存储过程
    drop PROCEDURE event_insert
    -- 创建存储过程
    create PROCEDURE event_insert() 
    begin 
    INSERT into settlement(date,num) 
    select create_time,id from car_info ;
    end ;
    -- 调用存储过程
    call event_insert();

     

     


    -- 1:先查看是否开启事件
    SELECT @@event_scheduler; 
    SHOW VARIABLES LIKE 'event_scheduler';
    SELECT @@event_scheduler;
    -- 2:如果关闭了先开启
    set global event_scheduler=1;
    SET GLOBAL event_scheduler = ON;

    -- 删除事件
    drop event event_yy_statistical

    -- 创建事件 -- 没3秒执行一次
    CREATE EVENT event_yy_statistical 
     ON SCHEDULE  EVERY 3 SECOND 
    ON COMPLETION PRESERVE 
    DO
    call event_insert();
    ENABLE
    COMMENT '运营统计报表事件'
    -- 创建事件 每天15点10执行-- 
    CREATE EVENT event_yy_statistical 
    ON SCHEDULE  
         EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 0 HOUR), INTERVAL 5 MINUTE) 
    ON COMPLETION PRESERVE 
    DO
    call event_insert();
    ENABLE
    COMMENT '运营统计报表事件'

    -- 开启事件
    alter event event_yy_statistical ON COMPLETION PRESERVE ENABLE; 


    -- 关闭事件
    alter event event_yy_statistical ON COMPLETION PRESERVE DISABLE; 

     

    -- 事件的语法参考:

    CREATE
            [DEFINER = { user | CURRENT_USER }]
            EVENT
            [IF NOT EXISTS]
            event_name
            ON SCHEDULE schedule
            [ON COMPLETION [NOT] PRESERVE]
            [ENABLE | DISABLE | DISABLE ON SLAVE]
            [COMMENT 'comment']
            DO event_body;
        schedule:
            AT timestamp [+ INTERVAL interval] ...
             | EVERY interval
            [STARTS timestamp [+ INTERVAL interval] ...]
            [ENDS timestamp [+ INTERVAL interval] ...]
        interval:
          quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
                      WEEK | SECOND | YEAR_MONTH | DAY_HOUR |
        DAY_MINUTE |DAY_SECOND | HOUR_MINUTE |
        HOUR_SECOND | MINUTE_SECOND}

    展开全文
  • MySQL创建调用存储过程

    万次阅读 2019-03-18 15:47:13
    一、创建存储过程 今天我们搞一搞MySQL的存储过程,过程中踩了一些小坑,算是做个总结归纳~ 首先,我们了解一下存储过程创建语句: CREATE PROCEDURE `index_statistic`(IN `flag` varchar(10),OUT `result` ...
  • 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。在大型数据库系统中,...
  • 创建存储过程,执行存储过程

    千次阅读 2018-07-27 17:18:07
    无参数存储过程 create or replace procedure 存储过程的名称 is begin  xxxx......此处为自己需要执行的sql语句 commit; end 存储过程的名称;   含有入参的存储过程   create or replace procedure ...
  • 创建无参存储过程: delimiter $; create procedure findSupplier();...调用存储过程: delimiter ; call findSupplier; 2. 创建带参数的存储过程: delimiter $; create procedure findSupplierByID(IN...
  • CREATE OR REPLACE PROCEDURE "Test"--创建Test存储过程 is start_time date;--创建了两个变量,开始时间和...--执行开始时间,下面Test1()到Test7()全部都是存储过程,这样调用没毛病 Test1(); Test2(); Test...
  • -- 查看一个已存在的存储过程创建语句,如果此存储过程不存在,会提示SQL错误(1305):PROCEDURE pro_init does not exist SHOW CREATE PROCEDURE pro_init; -- 创建存储过程 DROP PROCEDURE IF EXISTS pro_init;...
  • 第一步,打开sql server ... 第三步,选择数据库aaa,选择可编程性,选择存储过程 第四部,选择存储过程右击“新建...第七部,调用自己的存储过程 该部分我使用的VS2015,首先建一个web项目。 只需在代码中用下面的代
  • 存储过程是在大型的数据库系统中,为了完成特定功能的SQL语句集合,一次编译好,一直都可以使用,用户通过存储过程的名字,并且给定参数,然后就可以调用执行了。 这个存储过程是在MySQL中存放和执行的,也就是说,...
  • 创建执行存储过程

    千次阅读 2017-11-03 14:00:17
    创建存储过程 CREATE PROCEDURE procedure_name [WITH ENCRYPTION] [WITH RECOMRILE] AS sql_statement 注: WITH ENCRYPTION: 对存储过程进行加密 WITH RECOMPILE: 对存储过程重新编译   在book数据库中...
  • 创建调用存储过程

    2019-06-05 16:56:40
    1.创建数据库表 2.创建查询并测试
  • Oracle创建INSERT存储过程调用

    千次阅读 2018-12-19 23:34:06
    初学数据库,对存储过程一头雾水,上午学习创建简单的数据表,由于运维需要用到数据库存储,之前生产数据库定时存储过程一直失效,于是想自己写一个存储过程,测试下定时存储任务,后续打算用crontab来定时调用存储...
  • ORACLE存储过程创建调用

    万次阅读 2018-07-23 11:09:17
    创建调用存储过程这里就不写了,给一个觉得不错的文章地址:https://www.cnblogs.com/chinafine/articles/1776094.html 主要总结下遇到个几个问题: 1、在业务代码执行时,赋值给一个变量,需要使用:=,而不是=...
  • Mysql中创建存储和调用存储过程(一)

    千次阅读 2019-01-11 16:37:17
    创建存储过程 DELIMITER $$ --定义分割符 DROP PROCEDURE IF EXISTS getRecord $$ CREATE PROCEDURE getRecord ( IN in_id INTEGER, --定义输入参数 OUT out_name VARCHAR(20), --输出参数 OUT out_age INTEGER) -...
  • 前面的文章《在Hive中实现存储过程–HQL/SQL》中介绍了如何使用HPL/SQL在Hive中实现存储过程执行类似Oracle PL/SQL的功能。 一般的业务场景是数据开发人员开发好一个存储过程,然后周期性的调用,传入不同的参数...
  • Oracle定时任务,dbms_job调用存储过程创建表,需要显示授权,存储过程定义为authid current_user也不行,而dbms_scheduler是不需要显示授权的,这点来说后者更方便使用。另外,dbms_scheduler提供了job运行日志记录...
  • oracle PLSQL创建调用存储过程

    千次阅读 2014-03-12 15:24:59
    创建储存过程 create or replace procedure gogogo(uName in varchar, Age in int) is begin  update students set UserAge = UserAge + Age where userName = uName;  commit; end gogogo; / 调用储存过程 exec ...
  • 方向:利用mysql定时器调用存储过程,自动修改数据库状态为过期; 实践 首先使用navicate创建一个存储过程创建流程如下: 1.点击新建函数: 2.点击创建过程: 3.输入存储过程的参数,如果存储过程不...
  • MySQL存储过程和函数过程和函数,它们被编译后保存在数据库中,称为持久性...1.1 存储过程存储过程是由过程化 SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,因此称它为存储过程,使用时只要调用
  • 1、定义  所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过 ...2、存储过程创建 Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,100,780
精华内容 440,312
关键字:

创建调用存储过程