Oracle数据库中 call 和 exec的区别

今天发现了一个小东西,觉得很有意思,查找了一些资料,跟大家分享一下:

在sqlplus中:

在第三方提供的工具(如:plsqldev)

总结:

exec是sqlplus的命令,只能在sqlplus中使用。

call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数

call必须有括号,即例没有参数

idle> connect /as sysdba

已连接。

sys@PO10>

sys@PO10> create procedure p_test is

2 begin

3 null;

4 end;

5 /

过程已创建。

sys@PO10>

sys@PO10> exec p_test

PL/SQL 过程已成功完成。

sys@PO10> call p_test

2 ;

call p_test

*

第 1 行出现错误:

ORA-06576: 不是有效的函数或过程名

sys@PO10> call p_test();

调用完成。

sys@PO10>

exec 只能在SQLPLUS中使用;call可以在任何地方使用

以上所述是小编给大家介绍的Oracle数据库中 call 和 exec的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2016-09-26

在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案; 出现ORA-12899,是字符集引起的,中文在UTF-8中占3个字节,ZHS16GBK中占2个字节,而源dmp文件字符集是ZHS16GBK库里倒出来的数据,现在要导入到目标字符集为UTF-8的库里,所以会出现ORA-12899 其实只要修改一下ORACLE 的字符集就可以很好的解决这个问题; 但

开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成.为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决.目前在 MSSQLServer.Oracle.DB2 等主流数据库中都提供了对开窗函数的支持,不过非常遗憾的是 MYSQL 暂时还未对开窗函数给予支持. 开窗函数简介:与聚合函数一样,开窗函数也是对行集组进行聚合计算,但是它不像普通聚合函数那样每组只返回一个值

SQL%NOTFOUND 是一个布尔值.与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true.否则返回false.这样的语句在实际应用中,是非常有用的.例如要update一行数据时,如果没有找到,就可以作相应操作.如: begin update table_name set salary = 10000 where emp_id = 10; if sql%notfound then insert into

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.

最近做项目,有这样一需求:ORACLE数据库中求除数字.字母之外的非中文字符的正则表达式 如有如下字段,需将其中除字母.数字.汉字外的其他所有字符替换为空 'asdfsad ,,:)()!@123234#$%^&*(我w 是e ? 中国人../\[]::''""一人' 最终得到值:asdfsad123234我是中国人一人 select FN_REG_REPLACEOTHER('asdfsad ,,:)()!@#$%^&*(我是?中国人../\[]::''"&q

在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而且不会出现读错的情况,就更显得困难了,为了解决在oracle数据中插入的数据能够自增id,同时获取新数据的id,并避免因并发操作而出现的id读错的问题. 数据表结构为test(id,name) 首先,解决数据id自增问题 创建一个序列sequence(sequence详解可从网上搜一下,这里不赘述) create sequence SEQ_te

一.mybatis批量插入数据到Oracle中的两种方式: 第一种: INSERT ALL INTO

搭建一个oracle,下面会有很多schema,每个schema下的数据都不影响. 感觉和mysql的库的概念很像,现在用的数据库管理系统其实也是这么划分的,mysql用的ip+port+库标识,oracle用ip+port+schema标识,平时还总听到一个实例的概念,我的理解就是实例就是一系列相关进程,代表了一个数据库服务.目前线上为了节省资源,常常把机器分成多个实例,用不同的端口号标识,每个实例上有多个schema. 旭哥跟我说的很形象,oracle一个实例上有对应多个库.mysql一个库

Oracle INSERT 语句 方法1 我估计有点 SQL 基础的人都会写 INSERT 语句.下面是 SQL 标准写法. INSERT INTO employees (employee_id, name) VALUES (1, 'Zhangsan'); INSERT INTO employees VALUES (1, 'Shangbo'); 方法2 其实, Oracle 还支持下面的写法,作用和上面的语句完全相同. INSERT INTO (SELECT employee_id, name

oracle中call用法,Oracle数据库中 call 和 exec的区别相关推荐

  1. oracle中%type用法,oracle中declare用法

    第8 章 函数与存储过程 Oracle数据库中不仅可以使用单条语句对数据库进行 数据库中不仅可以使用单条语句对数据库进行 查操作,而且可以多条语句组成一个语句块, 增.删.改.查操作,而且可以多条语句 ...

  2. 25 Redis的缓存中的数据和数据库中的不一致问题

    25 Redis的缓存中的数据和数据库中的不一致问题 前言 一.缓存和数据库的数据不一致是如何发生的? 二.解决Redis 和数据库数据不一致的方法 总结 前言 Redis 缓存经常会遇到有 4 个方 ...

  3. 安卓app中把数据存在数据库中如何查看(Sqlite安装)

    安卓app中把数据存在数据库中如何查看 可通过Sqlite查看(电脑中如未安装数据库,请按照下方步骤安装) 在data下方寻找你的应用包名 然后右键(导出的数据库文件) 导出即可(save as... ...

  4. oracle中rollback用法,Oracle中SAVEPOINT和ROLLBACK用法

    savepoint是事务内部允许部分rollback的标志符.因为事务中对记录做了修改,我们可以在事务中创建savepoint来标识不同的点.如果遇到错误,就可以rollback到不同的点或直接回来事 ...

  5. oracle中using用法,Oracle中Using用法

    Oracle中Using用法 1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数 ...

  6. vb 读取oracle中的表格数据,如何将数据库信息读取导出excel表格中-VB 从SQL数据库中把数据导出到Excel表格中,怎么写?...

    VB 从SQL数据库中把数据导出到Excel表格中,怎么写? INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=&q ...

  7. oracle写excel文件,ORACLE-将oracle数据库中数据写入excel文件

    ORACLE-将oracle数据库中数据写入excel文件主要实现思路: 1.声明一个纪录,用来存储导出的数据: 2.使用游标取数据到纪录中: 3.使用utl_file将纪录中的数据写入excel文件 ...

  8. oracle中bonus用法,Oracle中scott用户的emp、dept、bonus、salgrade建表代码与数据

    由于电脑装的是Oracle 12C,大家都知道12C是不能直接调用scott用户的,然而scott中自带的四张表可谓设计得非常好,使用也非常广泛.那么要用到scott自带的表怎么办呢?--自己建哈. ...

  9. pythoncast函数用法_数据库中cast函数

    SQL Server 中随机函数应用举例 最近工作中要随机生成一些数据,基本上全是通过rand()函数来完成.下面以几个例子做下简单说明. 1.生成年龄 思路:年龄一般为0-100岁,只要以当时日期为 ...

最新文章

  1. 《ANSYS 14.0超级学习手册》一第1章 绪 论
  2. mysql主主和F5高可用_MYSQL 主主热备高可用方案与实现
  3. 一场实验室意外爆炸事故,解决了58年量子难题,让科学家意外发现“核电共振”...
  4. Cordova error:npm install -g ios-deploy
  5. stm32控制舵机任意角度_如何对舵机建模仿真?
  6. openstack运维实战系列(十七)之glance与ceph结合
  7. JavaScript对象与事件
  8. js同步-异步-回调
  9. 计算十进制转为二进制后1的个数
  10. 总结的比较好的OpenGL教程
  11. 逆发动机模型map图制作
  12. elementui表格序号自增
  13. QLineEdit控件添加提示语
  14. 什么是大数据(转自知乎)
  15. ckfinder使用
  16. 转:我通过微软亚洲研究院面试的经历
  17. 程序员外包工作3年,跳槽却没人要,网友:你也太老实了吧
  18. angular.js 错误: Error [$injector:unpr] 原因
  19. Android加载web页时有的手机会弹出手机自带的浏览器解决方法
  20. 玩转FFmpeg的7个小技巧

热门文章

  1. 基于Uniapp开发壁纸小程序源码+支持微信抖音双端
  2. CrossCore Embedded Studio——Perspectives Views in CCES(六)
  3. 经济学入门必看:绝对经典的20部影片_ywyuan_新浪博客
  4. python中的1e-3、1e-4等微小量
  5. Python 将字符串分割成单个字符,并形成一个list
  6. 【信号量机制及应用】
  7. 数字电视 CA 是什么?
  8. shunt resistor 分流电阻
  9. 湾区和西雅图的码农,谁过得更爽?
  10. 主流文本编辑器学习曲线