oracle 存储过程中调用存储过程

如何在存储过程中调用其他的存储过程(这些都是带参数的)谁给我写个例子。... 如何在存储过程中调用其他的存储过程(这些都是带参数的)
谁给我写个例子。
展开
 我来答
wangzhiqing999
推荐于2018-02-07 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3351万
展开全部
一个带参数的存储过程
SQL> CREATE OR REPLACE PROCEDURE HelloWorld1 (
2 p_user_name VARCHAR2
3 ) AS
4 BEGIN
5 dbms_output.put_line('Hello ' || p_user_name || '!');
6 END HelloWorld1;
7 /

Procedure created.

SQL> CREATE OR REPLACE PROCEDURE CallHelloWorld1 (
2 p_user VARCHAR2
3 ) AS
4 BEGIN
5 -- 调用存储过程的 存储过程
6 HelloWorld1(p_user);
7 END CallHelloWorld1;
8 /

Procedure created.

执行
SQL> set serveroutput on
SQL> exec CallHelloWorld1( 'Tom' );
Hello Tom!

PL/SQL procedure successfully completed.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
计划书3214
2018-02-07
知道答主
回答量:9
采纳率:0%
帮助的人:7862
展开全部
SQL>create or replace procedure pro_square(
num in out number, //计算它的平方或平方根,这是一个”in out“参数
flag in boolean) is //计算平方或平方根的标识,这是一个“in"参数
i int:=2; //表示计算平方,这是一个内部变量
begin
if flag then //若为真
num:=power(num,i); //计算平方
else
num:=sqrt(num); //计算平方根
end if;
end;
/
调用存储过程:
declare
var_number number;
var_temp number;
boo_flag boolean;
begin
var_temp:=3;
var_number:=var_temp;
boo_flag:=false;
pro_square(var_number,boo_flag);
if boo_flag then
dbms_output.put_line(var_temp ||'的平方是:'||'var_number');
else
dbms_output.put_line(var_temp ||'平方根是:'||'var_number');
end if;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式