当前位置:首页 » 存储配置 » 存储过程nvl

存储过程nvl

发布时间: 2025-08-16 01:27:06

1. oracle高手快来看看,我想写一个输出结果集的存储过程并执行

create or replace procere p_selTabSpace(v1

dba_data_files.tablespace_name%type)
as
var1 dba_data_files.tablespace_name%type;
var2 number;
var3 number;
var4 number;
begin
select a.a1 "tabSpaceName",b.b2/1024/1024 "tabSpaceSize",round((b.b2 -

a.a2) / 1024 / 1024, 2) "tabSpaceUsed",substr((b.b2 - a.a2) / b.b2, 1,

7) "tabSpaceVused" into var1,var2,
var3,var4
from
(select tablespace_name a1, sum(nvl(bytes, 0)) a2
from dba_free_space
group by tablespace_name) a,
(select tablespace_name b1, sum(bytes) b2
from dba_data_files
group by tablespace_name) b,
(select tablespace_name c1, contents c2, extent_management c3
from dba_tablespaces) c
where a.a1=UPPER(v1) and a.a1 = b.b1 and c.c1 = b.b1;
DBMS_OUTPUT.PUT_LINE('tabSpaceName is'||UPPER(VAR1)||'

'||'tabSpaceSize'||var2||' '||'tabSpaceUsed'||var3||'

'||'tabSpaceVused'||var4);
END;
--------------------------------TEST-------------------------
EXECUTE p_selTabSpace('system');

你想得到结果集是用来存放单行的数据还是存放多行的数据,如果是后者的话,单纯的select...into...这种方法是实现不了的,原因是你不可以将一列的多个结果都付给同一个变量,这也就是使用select...into...这种方式的一种局限,如果想用来存放多行结果就要向楼上说的那样使用游标或者是复合数据类型才可以。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:250
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705