`
slbszq
  • 浏览: 268262 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Oracle中执行存储过程call和exec区别

阅读更多

Oracle中执行存储过程callexec区别

sqlplus中这两种方法都可以使用:

exec pro_name(参数1..);

call pro_name(参数1..);

区别:

1. 但是execsqlplus命令,只能在sqlplus中使用;callSQL命令,没有限制.

2. 存储过程没有参数时,exec可以直接跟过程名(可以省略()),但call则必须带上().

 

SQL> --创建过程 插入数据
SQL> create or replace procedure pro1 is
  2  begin --执行部分
  3        insert into mytest values('张三', 'mm');
  4  end;
  5  /
 
Procedure created
 
SQL> exec pro1;
 
PL/SQL procedure successfully completed
 
SQL> call pro1;
 
call pro1
 
ORA-06576: 不是有效的函数或过程名

SQL> call pro1();
 
Method called

 

总结:在调用过程时,应该养成使用call,且要带上()的习惯。

分享到:
评论
1 楼 hanmiao 2014-01-20  
学习了,以前认为这两個命令是完全壹样的,看来还是有些差异的。

相关推荐

    Oracle数据库中 call 和 exec的区别

    在Oracle数据库环境中,`CALL` 和 `EXEC` 都是用来执行存储过程或包中的过程的命令,但在不同的上下文和工具中,它们有着细微的差异。以下是对这两个关键字的详细解释和对比: 首先,`EXEC` 是 SQL*Plus 的一个内建...

    oracle调用存储过程

    在Oracle数据库系统中,存储过程是一种预编译的SQL和PL/SQL代码集合,它可以封装一系列复杂的数据库操作,便于重复使用和提高性能。调用Oracle存储过程是数据库管理中的常见任务,尤其对于需要执行大量数据处理或...

    Oracle call 和 exec的详解及区别

    Oracle数据库中的`CALL`和`EXEC`语句都是用来执行PL/SQL块或者存储过程的,但它们之间存在一些关键的差异。理解这些差异对于在Oracle环境中进行有效的数据库操作至关重要。 1. **`CALL`语句**: - `CALL`是SQL标准...

    oracle-存储过程.ppt

    2. **执行存储过程**:可以通过`EXECUTE`或`CALL`关键字来调用存储过程,如`EXEC OverdueOrders;`。 3. **修改和删除存储过程**:使用`ALTER PROCEDURE`进行修改,`DROP PROCEDURE`进行删除。 在存储过程中使用参数...

    delphi中调用oracle的存储过程.pdf

    // 执行存储过程 ``` 以上就是在 Delphi 中利用 ADODataSet 调用 Oracle 存储过程的基本步骤。在实际应用中,可能还需要处理错误、事务控制等复杂情况,但基本流程是相似的。通过这种方式,开发者可以方便地调用 ...

    oracle中存储过程的使用

    在Oracle数据库中,存储过程是一种重要的编程机制,它允许开发者创建可重用的代码块来执行复杂的业务逻辑或数据处理任务。存储过程使用PL/SQL语言编写,并存储在数据库服务器上,这有助于提高应用程序性能、简化应用...

    Oracle之创建存储过程.pdf

    Oracle存储过程是数据库管理系统Oracle中的一种重要特性,用于创建可重用的、预编译的SQL和PL/SQL代码块。存储过程不仅提高了代码的可读性和可维护性,还能提升系统性能,因为它减少了网络通信量并只需在首次创建时...

    Oracle 存储过程

    2. **执行存储过程**:调用存储过程使用`EXECUTE`或`CALL`关键字,如`EXEC my_procedure;`。 3. **修改存储过程**:使用`ALTER PROCEDURE`语句更新存储过程的定义。 4. **删除存储过程**:使用`DROP PROCEDURE`语句...

    oracle 存储过程(3)

    执行存储过程,使用`EXECUTE`语句,如`EXEC my_proc(123);`。如果存储过程有输出参数,结果将存储在对应的变量中。 存储过程还可以包含条件判断(IF-THEN-ELSIF-ELSE)、循环(FOR、WHILE)、异常处理(BEGIN-...

    oracle存储过程常见技巧

    在命令窗口中,既可以使用`CALL`也可以使用`EXEC`来调用存储过程,两者的效果是一样的。 **1.2 SQL窗口与命令窗口的区别** - **SQL窗口**主要用于执行DDL(数据定义语言)、DML(数据操作语言)以及查询语句等,...

    SQL中调用ORACLE存储过程.pdf

    在SQL Server中调用Oracle存储过程是数据库间交互的一个常见需求,这允许用户在不同的数据库管理系统之间共享数据和逻辑。本篇文章将详细讲解如何在SQL Server中通过Linked Server执行Oracle的存储过程。 首先,...

    oracle 存储过程.pptx

    2. **执行存储过程**:使用`EXECUTE`或`CALL`关键字来调用存储过程,例如: ```sql EXEC my_proc(123, 'output_value'); ``` 3. **修改存储过程**:使用`ALTER PROCEDURE`来更新存储过程的定义,但不会影响已分配的...

    如何实现Java对Oracle存储过程的调用.pdf

    在Java编程中,调用Oracle数据库的存储过程是常见的数据交互方式。Oracle存储过程是预编译的SQL和PL/SQL代码集合,可以在数据库服务器端执行,提供高效的数据处理和业务逻辑实现。以下是如何使用Java调用Oracle存储...

    oracle存储过程学习

    - **在存储过程或触发器中调用**:直接使用存储过程名和参数即可,如`Sal_raise(7369, 200);`。 - **在SQL*Plus中调用**: - 使用匿名块的方式调用:`BEGIN Sal_raise(7369, 200); END; /` - 使用`EXECUTE`或`EXEC...

    oracle存储过程和触发器的说明.pdf

    Oracle存储过程和触发器是在Oracle数据库中常用的两种数据库对象,它们都属于PL/SQL的范畴,是数据库编程的重要组成部分。存储过程是存储在数据库中的一段程序代码,可以包含一系列的SQL语句和PL/SQL语句,通过调用...

    Oracle-存储过程与函数

    存储过程在Oracle数据库中扮演着核心角色,它们提供了高度定制化的能力,能够执行复杂的事务处理、数据操纵和逻辑控制。熟练掌握存储过程的创建、调用和管理,对于提升数据库应用的性能、安全性和维护性具有重要意义...

    Oracle存储过程学习经典[语法+实例+调用].

    - **定义**: 存储过程是存储在Oracle数据库中的可执行程序单元,通常用于封装复杂的业务逻辑或数据操作任务。 - **组成元素**: 存储过程可以包含SQL语句、PL/SQL代码块以及Java代码等多种编程语言元素。 - **优势...

    oracle存储过程使用详解

    在Oracle数据库环境中,存储过程是一种重要的数据库对象,它允许开发者将一组SQL语句和控制流程语句封装在一个命名单元中,从而实现更复杂、更高效的数据处理逻辑。本文将深入探讨Oracle存储过程的创建、参数传递、...

    Oracle数据库--存储过程、函数、触发器和包.pptx

    Oracle数据库中的存储过程是一组预编译的SQL语句和PL/SQL代码,它们被组织在一起以完成特定的任务。存储过程的创建使用`CREATE PROCEDURE`语句,如: ```sql CREATE PROCEDURE procedure_name ( parameter IN data...

Global site tag (gtag.js) - Google Analytics