创建选择过程/触发器以解密Oracle的数据



我有此查询

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

您可以创建一个具有上面选择标准的视图,然后在视图上调用您的选择查询。不确定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;

然后,您可以从mySchema.SomeViewName中调用Select *,尽管使用通配符通常不是一个好主意,因为当您不需要它们时,您会返回所有列。如果要动态传递参数,则可以考虑使用函数。

最新更新