如何在oracle中调用存储过程
解决方案 »
- 我是学C++的,请推荐本数据库经典入门书籍
- 请问, 如何查询出其他用户下的表结构
- 提示 未选定行是什么意思?
- MSSQL里的存储过程转到ORACLE中来
- 再进行imp时候出错: 错误1658出现,加大表空间仍然没有解决问题
- 我想在SQL的insert语句中向数据库添加系统当前的日期,我该怎么做?
- 在ENTERPRISE MANAGER中,如何在已搜索到的节点中添加数据库?
- 我写的to_day函数求天数的!
- 哪儿有developer/2000 的下载(国内)啊?
- 求助,服务和监听正常启动,sqlplus却进不去,提示12560错误。
- 不同字符集数据转换后字段中字符变长如何解决?
- SQL语句格式变换为ORACAL时碰到困难,SOS
没有参数的就不用写参数了
方法1:
要调用的时候call 过程名称();有参写参数
方法2:
可以
declare
begin
过程名称();--这里也可调用
end;
方法3:
在命令行参数中调用..方法为:1 : set serveroutput on ; 2 execute 过程名();
也能调用
当你的存储过程有参数时,调用的时候传入参数
call 过程名称(参数1,参数2);--这是在你建立存储过程时就定义好的有参数的过程create or replace procedure create or replace procedure proc_put --建立过程
(num number)
is
begin
if num=1
then dbms_output.put_line('您的输入参数是1');
else
dbms_output.put_line('您的输入参数不是1');
end if;
end;
call proc_put(1);--调用过程不能用exec 过程名称()调用存储过程,与sql不同。
新手,刚学。。只知道这么多
EXECUTE procedure_name (parameters_lise);如以下例子:创建过程:create or replace procedure
find_emp(emp_no number)
as
empname varchar2(20);
begin
select ename into empname
from emp where empno = emp_no;
dbms_output.put_line('雇员姓名是 ' || empname);
EXCEPTION
when no_data_found then
dbms_output.put_line('雇员编号未找到');
end find_emp;执行上述过程set serverout put on
execute find_emp(7900);