Создать процедуру SELECT / триггер для расшифровки данных в ORACLE - PullRequest
0 голосов
/ 18 марта 2019

У меня есть этот запрос

SELECT id, UTL_I18N.RAW_TO_NCHAR(DBMS_CRYPTO.DECRYPT(password,
                                pkg_so_42979606.cipher_type(),
                                UTL_ENCODE.BASE64_DECODE(UTL_I18N.STRING_TO_RAW('pMV3D4xhyfNxp3YyfLWzAErGcKkIjK3X6uc/WIeVTls=', 'AL32UTF8'))),
                             'AL32UTF8') password
FROM customeren;

Я хочу выбрать эту таблицу.Но я не хочу писать этот код снова и снова.Что я должен сделать?Как проще выбрать данные из этой таблицы?Oracle 11g XE

1 Ответ

1 голос
/ 18 марта 2019

Вы можете создать представление с указанными выше критериями выбора, а затем просто вызвать запрос выбора в представлении. Не уверен, что синтаксис Oracle такой же, но в SQL Server это будет

    CREATE VIEW myschema.SomeViewName AS
    SELECT id, UTL_I18N.RAW_TO_NCHAR(DBMS_CRYPTO.DECRYPT(password,
                                pkg_so_42979606.cipher_type(),
                                UTL_ENCODE.BASE64_DECODE(UTL_I18N.STRING_TO_RAW('pMV3D4xhyfNxp3YyfLWzAErGcKkIjK3X6uc/WIeVTls=', 'AL32UTF8'))),
                             'AL32UTF8') password
    FROM customeren;

Затем вы можете вызвать SELECT * FROM myschema.SomeViewName, хотя использование групповых символов, как правило, не очень хорошая идея, поскольку вы возвращаете все столбцы, когда они могут вам не понадобиться. Если вы хотите передать параметры динамически, вы можете вместо этого использовать функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...