Следующий запрос выполняется при ошибке в инструкции THAN. Можно ли использовать select в заявлении THAN? Любые идеи о том, как заставить его работать?Корпус коммутатора Oracle plsql и катушка sqlplus
SET SERVEROUTPUT ON
SET TERMOUT OFF
SET ECHO OFF
SET FEEDBACK OFF
SET LINESIZE 140
SET PAGESIZE 0
exec dbms_output.enable(NULL);
SPOOL C:\test\user.sql
BEGIN
SELECT DISTINCT version,
CASE
WHEN version = '12.1.0.2.0'
THEN
dbms_output.put_line(''select' || 'Alter user ' || username || ' identified by values ' || '''EE3FD1E715941451''' || ';''); from DBA_USERS_WITH_DEFPWD;
ELSE
dbms_output.put_line(''select' || 'Alter user ' || username || ' identified by values ' || '''Invalid Password''' || ';''); from DBA_USERS_WITH_DEFPWD;
FROM PRODUCT_COMPONENT_VERSION;
END;
SPOOL OFF
Edit:
код, который работает, выглядит так:
spool c:/test/user.sql
select 'Alter user ' || username || ' identified by values ' || '''Invalid Password''' || ';'
from DBA_USERS_WITH_DEFPWD;
spool off
золотника выход Пример:
Alter user GSMUSER identified by values 'Invalid Password';
Alter user MDSYS identified by values 'Invalid Password';
Alter user OLAPSYS identified by values 'Invalid Password';
Alter user LBACSYS identified by values 'Invalid Password';
Скрипт не работает с новыми версиями Oracle DB. Поскольку Oracle 12.1.0.2.0 невозможно установить пароль на неверный пароль. Мне нужно создать идентификатор версии для этой проблемы. Все базы данных Oracle с версией ниже 12.1.0.2.0 должны обрабатываться старым скриптом, а пароли должны быть установлены на «неверный пароль». Все новые версии должны получить какой-то стандартный пароль.
Вы не можете использовать DBMS_OUTPUT в инструкции SELECT. вы смешиваете SQL и PL/SQL. Это разные двигатели. Кроме того, ваш оператор SELECT на самом деле не имеет смысла. Объясните свое требование правильными словами. –
Можете ли вы разместить некоторые данные образца и желаемый результат? – Aleksej
@LalitKumarB он пытается это сделать: http://stackoverflow.com/questions/36302810/switch-case-for-oracle-versions-to-set-invalid-passwords-for-standard-users – Sathya