如何查看当前的Oracle DBMS是否为企业版?
How to check if the current Oracle DBMS is Enterprise version?
select * from v$version;
打印:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
...
现在,我想检查一下当前的Oracle DBMS是不是企业版(只是企业版,没有Release等)?
DECLARE
VAR_CURRENTVERSION VARCHAR(500);
BEGIN
SELECT * INTO VAR_CURRENTVERSION FROM v$version;
IF (VAR_CURRENTVERSION = 'ENTERPRISE_EDITION') THEN
SYS.DBMS_OUTPUT.PUT_LINE('You have Enterprise Oracle Edition Version');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('You have Normal Oracle Edition Version');
END IF;
END;
/
Oracle 中是否有像 "ENTERPRISE_EDITION" 这样的宏?
没有魔法 ENTERPRISE_EDITION
宏或函数。您可能想要执行以下操作:
DECLARE
bIs_enterprise BOOLEAN;
BEGIN
bIs_enterprise := FALSE;
FOR aRow IN (SELECT BANNER
FROM V$VERSION
WHERE UPPER(BANNER) LIKE '%DATABASE%ENTERPRISE%')
LOOP
bIs_enterprise := TRUE;
END LOOP;
END;
以这种方式完成 bIs_enterprise
如果您附加的数据库是 运行 企业版,则为 TRUE,否则为 FALSE。
祝你好运。
我有一个想法。用游标解决。
DECLARE
cursor CUR_VERSION IS SELECT * FROM v$version;
VAR_CURRENTVERSION VARCHAR(500);
IS_ENTERPRISE_VERSION NUMBER;
BEGIN
OPEN CUR_VERSION;
FETCH CUR_VERSION into VAR_CURRENTVERSION;
CLOSE CUR_VERSION;
SELECT INSTR(VAR_CURRENTVERSION, 'Enterprise') INTO IS_ENTERPRISE_VERSION from dual;
IF (IS_ENTERPRISE_VERSION > 0) THEN
SYS.DBMS_OUTPUT.PUT_LINE('You have Enterprise Oracle Edition Version');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('You have Normal Oracle Edition Version');
END IF;
END;
select * from v$version;
打印:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
...
现在,我想检查一下当前的Oracle DBMS是不是企业版(只是企业版,没有Release等)?
DECLARE
VAR_CURRENTVERSION VARCHAR(500);
BEGIN
SELECT * INTO VAR_CURRENTVERSION FROM v$version;
IF (VAR_CURRENTVERSION = 'ENTERPRISE_EDITION') THEN
SYS.DBMS_OUTPUT.PUT_LINE('You have Enterprise Oracle Edition Version');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('You have Normal Oracle Edition Version');
END IF;
END;
/
Oracle 中是否有像 "ENTERPRISE_EDITION" 这样的宏?
没有魔法 ENTERPRISE_EDITION
宏或函数。您可能想要执行以下操作:
DECLARE
bIs_enterprise BOOLEAN;
BEGIN
bIs_enterprise := FALSE;
FOR aRow IN (SELECT BANNER
FROM V$VERSION
WHERE UPPER(BANNER) LIKE '%DATABASE%ENTERPRISE%')
LOOP
bIs_enterprise := TRUE;
END LOOP;
END;
以这种方式完成 bIs_enterprise
如果您附加的数据库是 运行 企业版,则为 TRUE,否则为 FALSE。
祝你好运。
我有一个想法。用游标解决。
DECLARE
cursor CUR_VERSION IS SELECT * FROM v$version;
VAR_CURRENTVERSION VARCHAR(500);
IS_ENTERPRISE_VERSION NUMBER;
BEGIN
OPEN CUR_VERSION;
FETCH CUR_VERSION into VAR_CURRENTVERSION;
CLOSE CUR_VERSION;
SELECT INSTR(VAR_CURRENTVERSION, 'Enterprise') INTO IS_ENTERPRISE_VERSION from dual;
IF (IS_ENTERPRISE_VERSION > 0) THEN
SYS.DBMS_OUTPUT.PUT_LINE('You have Enterprise Oracle Edition Version');
ELSE
SYS.DBMS_OUTPUT.PUT_LINE('You have Normal Oracle Edition Version');
END IF;
END;