加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

database – 如何测试我的Oracle DB版本是否支持PIVOT功能?

发布时间:2021-04-01 02:09:51 所属栏目:站长百科 来源:网络整理
导读:我需要找出一种方法来确定Oracle是11g还是更新,因为基本上我需要知道我运行的数据库是否支持PIVOT. 得到版本号如果自己不那么困难,所以我得到: select * from v$version 不幸的是,这并不是一个简单的数字,而是包括叮咬和各种不同版本号的5条记录: Oracle D

我需要找出一种方法来确定Oracle是11g还是更新,因为基本上我需要知道我运行的数据库是否支持PIVOT.

得到版本号如果自己不那么困难,所以我得到:

select * from v$version

不幸的是,这并不是一个简单的数字,而是包括叮咬和各种不同版本号的5条记录:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE    10.2.0.5.0  Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

那么,如果数据库支持PIVOT语句,有没有办法确定我的Oracle是11g还是更高,甚至更好?

谢谢!

解决方法

作为确定Oracle版本是否支持PIVOT的方法之一是查询 V$RESERVED_WORDS视图以查明保留字PIVOT是否存在.

SQL> select keyword
  2    from v$reserved_words
  3   where keyword = 'PIVOT'
  4  ;

KEYWORD
---------
PIVOT

如果您正在编写代码(正如您在@Ben的回答中提到的那样,引用我正在创建一个生成并执行数据集市的SQL语句的过程),它将利用特定于版本的特性(并且它是首选方法)使用dbms_db_version包进行条件编译.例如:

create or replace some_proc
 is
 begin
   $if dbms_db_version.ver_le_10_2 -- for example
   $then
     -- features up to 10g r2 version 
   $else
     -- current release  
   $end
 end;

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!