运行 一个 sql 取决于 Oracle 数据库版本

run a sql depending on Oracle DB version

我需要 运行 以下 SQL 在具有 oracle 版本 11 的所有数据库上。

select USERNAME,SYSDBA,SYSOPER,SYSASM from from v$pwfile_users

查找数据库版本:

SQL> SELECT distinct version FROM PRODUCT_COMPONENT_VERSION;
VERSION
--------------------------------------------------------------------------------
11.2.0.4.0

因此仅当版本以“11”开头时。我将不得不 运行 查询。 我如何在单个 SQL 查询中执行此操作?可能正在使用 'case'?

像这样:

with ver as
  (select distinct substr(version, 1, 2) version
   from product_component_version
  )
select USERNAME,SYSDBA,SYSOPER,SYSASM  
From v$pwfile_users 
where exists (select null from ver where version = '11');