SQL中调用存储过程语句:call procedure_name();

注:调用时”()”是不可少的,无论是有参数还是无参数.

定义对数据库存储过程的调用时
1、无参数存储过程:{call procedure_name}
2、仅有输入参数的存储过程:{call procedure_name(?,?...)}。
这里?表示输入参数,创建存储过程时用in表示输入参数
3、仅有输出参数的存储过程:{call procedure_name(?,?...)}。
这里的?表示输出参数,创建存储过程时用out表示输出参数
4、既有输入参数又有输出参数的存储过程{call procedure_name(?,?...)}。
这里的?有表示输出参数的,也有表示输入参数的

下面将会对这4种情况分别举出实例!!!
1、无参数存储过程

CREATEORREPLACEPROCEDURE stu_proc AS
--声明语句段
v_name VARCHAR2(20);
BEGIN
--执行语句段
SELECT o.sname INTO v_name FROM student o WHERE o.id=4;
dbms_output.put_line(v_name);
EXCEPTION
--异常处理语句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END;
                   
2、仅带入参的存储过程

CREATEORREPLACEPROCEDURE stu_proc(v_id IN student.id%type) AS
--声明语句段
v_name varchar2(20);
BEGIN
--执行语句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--异常处理语句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END;
              
3、仅带出参的存储过程 

--此种存储过程不能直接用call来调用,这种情况的调用将在下面oracle函数调用中说明
CREATEORREPLACEPROCEDURE stu_proc(v_name OUT student.sname%type) AS
--声明语句段
BEGIN
--执行语句段
SELECT o.sname INTO v_name FROM student o where o.id=1;
dbms_output.put_line(v_name);
EXCEPTION
--异常处理语句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END;
           
4、带入参和出参的存储过程

--此种存储过程不能直接用call来调用,这种情况的调用将在下面oracle函数调用中说明
CREATEORREPLACEPROCEDURE stu_proc(v_id IN student.id%type, v_name OUT student.sname%type) AS
--声明语句段
BEGIN
--执行语句段
SELECT o.sname INTO v_name FROM student o where o.id=v_id;
dbms_output.put_line(v_name);
EXCEPTION
--异常处理语句段
WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
END;

oracle无参数和带参数的存储过程实例的更多相关文章

  1. JS参数使用带参数的方法

    大家都知道,在JS之中,一个变量的生命周期不是以大括号为界限的,所以即使是使用在循环或判断中的变量,外部也可以使用.可如果我们在循环或变量中使用了方法,而且这个方法使用了循环中的变量,那么后面的代码是 ...

  2. 当参数为带参数的url时怎么办?

    比如地址为:http://www.baidu.com/index.aspx?url=http://www.baidu.com/info.aspx?id=1&type=1,用Request[&q ...

  3. Oracle游标带参数

    Oracle游标是可以带参数的,而SqlServer的游标就不可以了 create or replace procedure a as cursor b(c_id int)is select * fr ...

  4. Qt5教程: (4) 带参数信号与槽

    在subwidget.h中声明一个signal. 和之前的信号函数重名但是有参数: void backSignal(QString); 之后在subwidget.cpp的槽函数sendSignal() ...

  5. oracle存储过程(带参数的存储过程)

    带参数的存储过程 举例:为指定的员工涨100元的工资,打印涨前和涨后的工资 如果带参,需要指定是输入参数还是输出参数 create or replace procedure raisesalary(e ...

  6. Oracle游标--cursor_01-简单不带参数实现功能

    对于游标这个概念,可以理解为类似我们以前学习的jdbc的结果集对象, 我们可以使用游标对结果集从上到下进行遍历,获取每一行内容 首先我们要分析一下游标的分类 带参数的 书写函数的整体架构 定义游标 开 ...

  7. c#调用Mysql带参数的存储过程

    1.首先创建一个带参数的存储过程 ①存储过程名称=proc_bookinfo  ②存储过程2个参数 一个in 一个out in参数名称=ispay out参数名称=unPaycount ③ 这个存储过 ...

  8. Sql Server 带参数的存储过程执行方法

    Sql Server 带参数的存储过程执行方法 Visual C# 动态操作 SQL Server 数据库实例教程(4):带参数的存储过程执行方法 上一篇文章介绍了带参数的SQL语句执行方法和不带参数 ...

  9. EF(ServerFirst)执行存储过程实例1(带输出参数)

    1.不含动态sql.带输出参数存储过程调用实例 a.存储过程代码: b.EF自动生成代码(包括对应ObjectResult的实体模型): c.调用存储过程代码实例:  总结: ObjectParame ...

随机推荐

  1. 如何提高Mysql的查询效率???

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  2. java object默认的基本方法

    java object默认的基本方法中没有copy(),含有如下9个方法:  getClass(), hashCode(), equals(), clone(), toString(), notify ...

  3. [神经网络]一步一步使用Mobile-Net完成视觉识别(三)

    1.环境配置 2.数据集获取 3.训练集获取 4.训练 5.调用测试训练结果 6.代码讲解 本文是第三篇,获取tfboard训练集. 前面我们拿到了所有图片对应的标注信息的xml文件,现在我们需要先把 ...

  4. mysql 速度检索

    授权GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zabbixpwd' WITH GRANT OPTI ...

  5. ES6中const的用法

    const声明一个只读的常量.一旦声明,常量的值就不能改变.且const一旦声明变量,就必须立即初始化,不能留到以后赋值. const的作用域与let命令相同:只在声明所在的块级作用域内有效. con ...

  6. 通过脚本批量添加AD用户

    1.新建一个csv文件(逗号分隔的一种值文件) 内容为:放在C:\盘根目录下 test300 test300 .com test300 test301 test301 .com test301 tes ...

  7. HTML5<footer>元素

    HTML5中<footer>元素是用来描述文档中的底部信息,比如:版本,版权,作者,链接声明,联系信息,时间等等. 实例: <footer> <p>这是一个底部的信 ...

  8. 【转】Windows 邮件槽(MailSlot)

    Windows 邮件槽(MailSlot) 来自<Windows网络编程第二版 中文版> 优点:通过网络,将一条消息广播给一台或多台计算机.   缺点:只允许从客户机到服务器,建立一种不可 ...

  9. 简单的C++ DLL注入

    今天呢,我们来讨论一下用C++实现DLL注入的简单方法. 环境: Visual Studio 2015及以上 Windows 7及以上 入门需要了解的: DLL是什么:DLL_360百科 DLL是Dy ...

  10. c++ sort用法 学习笔记

    c++ sort排序函数,需要加库#include<algorithm>,语法描述:sort(begin,end,cmp),cmp参数可以没有,如果没有默认非降序排序. 首先是升序排序: ...