问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle存储过程如何输出信息

发布网友 发布时间:2022-04-22 02:58

我来回答

6个回答

热心网友 时间:2022-04-07 19:46

可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。

编写存储过程:

create or replace procere test_pro(in_num number)

as

M number;

begin

M := in_num;

if 0 < M then

dbms_output.put_line('输出SQL语句1');

elsif M < 3 then

dbms_output.put_line('输出SQL语句2');

else

dbms_output.put_line('nothing');

end if;

end;

扩展资料;

存储在数据库的数据字典中,存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序,安全性靠应用程序来保证,如果能执行应用程序,就能执行该子程序。模式描述IN参数用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。

参考资料来源:百度百科-Oracle存储过程

热心网友 时间:2022-04-07 21:04

oracle存储过程如何输出信息?可用DBMS_OUTPUT.PUT_LINE()对存储过程的进行输出。
编写存储过程:
create or replace procere test_pro(in_num number)
as
M number;
begin
M := in_num;
if 0< M then
dbms_output.put_line('输出SQL语句1');
elsif M< 3 then
dbms_output.put_line('输出SQL语句2');
else
dbms_output.put_line('nothing');
end if;
end;
扩展资料;
存储在数据库的数据字典中,存储在当前的应用中安全性由数据库提供安全保证,必须通过授权才能使用存储子程序,安全性靠应用程序来保证,如果能执行应用程序,就能执行该子程序。模式描述IN参数用来从调用环境中向存储过程传递值,不能给IN参数赋值,给此参数传递的值可以是常量、有值的变量、表达式等。

热心网友 时间:2022-04-07 22:39

概述
前面已经对存储过程、函数、包做了个介绍,但是毕竟是写成了一篇,所以没那么细,今天单独介绍一下存储过程基础方面,后面再说遍历什么游标啊,数组啊~

1、语法
CREATE [OR REPLACE] PROCEDURE procere_name [ (parameter [,parameter]) ]IS [declaration_section]BEGIN executable_section[EXCEPTION exception_section]END [procere_name];
Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

这里做个简单了解就行,主要还是通过实例来理解。

2、环境准备
准备测试数据

create table students( ID int, userName varchar(100), userPass varchar(100), userAge int)insert into students values(1,'jack','jjjaa',23);insert into students values(2,'rose','jjjaa',21);insert into students values(3,'lucy','jjjaa',22);insert into students values(4,'Tony','jjjaa',24);commit;

对于某个用户添加年龄
create or replace procere SP_Update_Age( uName in varchar, Age in int)asbegin update students set UserAge = UserAge + Age where userName = uName; commit;end SP_Update_Age;
执行如下:exec SP_UPDATE_AGE('jack',1);

结果:


IF判断

调用:

set serveroutput on; --没这句话,看不到dmbs_output信息。declare num number;begin num:= -1; test(num); dbms_output.put_line( 'num = ' || num );end;
输出:


For循环、

输出:


While 循环

调用:


输出:


篇幅有限,关于存储过程基础部分就介绍到这了,大家有空可以测试一下,这里有些不放代码是因为大家如果真想练习的话最好是手敲好一点,加深印象。

后面会分享更多DBA方面内容,感兴趣的朋友可以关注下!

热心网友 时间:2022-04-08 00:30

如果你是使用PL/sql工具,在command 窗口下执行set serveroutput on

然后exec sp;
可以看到了
或者在sqlplus 中执行上面的代码追问我是使用的PL/sql工具。
如果我是proC,调用的这个存储过程,能获得put_line 的输出 吗?

追答proC没有玩过,可以给我点资料看看吗?yxd2766@126.com

热心网友 时间:2022-04-08 02:38

dbms_output.put_line

例如:

SQL> set serveroutput on
SQL> BEGIN
2 dbms_output.put_line('Hello World');
3 END;
4 /
Hello World

PL/SQL procere successfully completed.追问你那个是sqlplus命令行吗?
helloworld 输出到了终端??

我这边是程序调用这个存储过程,能获得put_line输出的信息吗?

热心网友 时间:2022-04-08 05:03

CUUG网站有oracle 免费视频教程, 无需下载,直接就可以下载,或者在线观看.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在农村建平房一层多少钱 彩色长毛兔彩色长毛兔在我国 律师和律师事务所什么关系 律师事务所里面都是律师吗 每个律师都隶属于一个律师事务所吗,那律师事务所是怎么运作的? vivox5全网通可不可以同时用联通卡和移动 X5能插两张手机卡吗?联通移动都可以使用吗? 老公身体不好跟我没性生活有什么方法可以满足我性生活 多普达HTCP3600自身带的语音指令软件叫什么名字?那里有下载,谢谢了_百 ... 求多普达P3600I在香港的价格 求多普达P3600I现在的价格 oracle中的存储过程怎么写 路由的rip和静态路由重分发怎么配置啊??我一道两... oracle中的存储过程是什么? 五级地震是什么概念 有多大 锐捷RSR20 怎么设置路由重分发 5级地震有多大威力 Oracle数据库的存储过程怎么写? 花呗关了过一段时间再开额度会变吗? 公交卡让我放洗衣机里洗了,还能用吗? 我想问一下关于配置RIP与OSPF路由重分发 我头一次... 5~6.5级地震能造成多大伤害 ORACLE 存储过程是什么? 它的用处,好处是什么?... 5级地震的破坏力是什么? 路由重分发的基本介绍 花呗关闭后再开通原有额度会变吗? oracle的存储过程? 关闭花呗后以后开通额度还是以前那么多吗 ospf路由重分发 oracle怎么执行存储过程 5级地震有多严重? 5级左右的地震造成的伤害是什么样的啊??危害大吗... 在配置路由重分发时如果同时有RIP OSPF和EIGRP应如... 公交车卡被水浸湿还能用吗? 路由重分发的注意事项 oracle的存储过程的作用 公交卡湿了还能用吗 五级地震会造成怎样的危害 ospf路由重分发的作用 公交车学生卡沾水后可以用吗? 5级地震什么样 怎么才oracle中查看存储过程 公交卡放裤子里没拿出来在洗衣机里泡了,怎么办能... 公交卡用水洗过后还可继续使用吗? oracle存储过程有什么好处? 地震级别是怎么划分的 5级地震震源深度10千米严重吗 oracle存储过程并且怎么写 地震等级是怎么划分的? 如何查看oracle的存储过程 公交卡被洗了,还能用吗