mysql调用oracle的过程_用脚本调用Oracle存储过程

先准备好一个sql脚本demo.sql set serveroutput ondeclarev_name dept.dname%type;beginselect dname into v_name from dept whe

先准备好一个sql脚本demo.sql

set serveroutput on

declare

v_name dept.dname%type;

begin

select dname into v_name from dept where deptno=&1;

dbms_output.put_line('department name is: '||v_name);

end;

/

exit;

然后在终端下执行:

sqlplus "scott/tiger@orcl" @demo.sql 20

返回:

SQL*Plus: Release 9.2.0.4.0 - Production on Thu Oct 17 21:37:28 2013

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.4.0 - Production

old 4: select dname into v_name from dept where deptno=&1;

new 4: select dname into v_name from dept where deptno=20;

department name is: RESEARCH

PL/SQL procedure successfully completed.

Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.4.0 - Production

注意:我们可以给脚本传参数,,在脚本中用&1,&2这样的参数

本文永久更新链接地址:

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在shell中调用存储过程,需要使用数据库客户端工具,如mysqlOracle SQL Plus等。首先,需要连接到数据库,并使用存储过程的名称和参数来调用它。具体的语法和步骤会根据不同的数据库和存储过程而有所不同。在调用存储过程之前,还需要确保已经授权给当前用户执行该存储过程的权限。 ### 回答2: 在Shell中调用存储过程需要以下步骤: 1. 连接数据库:首先,在Shell脚本中使用适当的命令(如`sqlplus`或`sqlcmd`)来连接到数据库。例如,如果使用Oracle数据库,可以使用以下命令连接到数据库: ``` sqlplus username/password@database_name ``` 其中,`username`是数据库用户名,`password`是对应的密码,`database_name`是数据库的名称。 2. 调用存储过程:一旦连接成功,可以使用适当的命令在Shell脚本调用存储过程。命令取决于数据库的类型。以下是一些示例: - 对于Oracle数据库,可以使用PL/SQL块调用存储过程。例如: ``` BEGIN stored_procedure_name(parameter1, parameter2); END; / ``` 其中,`stored_procedure_name`是存储过程的名称,`parameter1`和`parameter2`是存储过程的参数。 - 对于SQL Server数据库,可以使用`EXEC`语句调用存储过程。例如: ``` EXEC stored_procedure_name @parameter1='value1', @parameter2='value2'; ``` 其中,`stored_procedure_name`是存储过程的名称,`@parameter1`和`@parameter2`是存储过程的参数。 3. 处理结果:根据需要,在Shell脚本中处理存储过程的结果。可以将输出结果写入日志文件,或者根据条件执行其他操作。 4. 断开数据库连接:最后,在Shell脚本结束之前,使用适当的命令断开与数据库的连接。例如,在Oracle数据库中可以使用以下命令: ``` EXIT; ``` 这样,Shell脚本就可以成功调用存储过程并处理结果了。 ### 回答3: Shell调用存储过程可以使用数据库连接工具,如mysql命令行工具或者数据库管理工具等,以下是使用mysql命令行工具调用存储过程的基本步骤: 1. 建立与数据库的连接:在Shell中执行`mysql -h 主机名 -u 用户名 -p`的命令,其中主机名是数据库所在的主机地址,用户名是数据库的用户名,-p参数表示需要输入密码来完成连接。 2. 选择数据库:连接数据库后,执行`use 数据库名`的命令,将当前选择的数据库设置为需要执行存储过程的数据库。 3. 调用存储过程:使用`CALL 存储过程名(参数1,参数2...)`的语法来调用存储过程,括号内为存储过程所需要的参数。 4. 查看结果:可以根据存储过程的设计,在存储过程中定义了结果返回的方式,可以在调用存储过程之后,使用合适的方式来查看和处理存储过程的执行结果。 需注意的是,调用存储过程的具体步骤可能会根据不同数据库管理工具的使用方式和不同数据库的语法有所不同,上述步骤主要以mysql命令行工具为例。另外,在编写存储过程时,应该考虑安全性和效率等方面的问题,避免不必要的安全隐患和资源浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值