ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
文字列を暗号化してINSERT・UPDATEする/復号化してSELECTする(10g)
スポンサード リンク

(1) 文字列を暗号化してINSERT・UPDATE
 
DBMS_CRYPTO.ENCRYPTファンクションを使用します。

しかし、文字列をRAW型に変換するなど、直接指定するには不便なので、ストアドファクションを作成すると使用しやすくなります。

ストアドファンクション作成例は、PL/SQLの「文字列を暗号化する(10g)(DBMS_CRYPTO.ENCRYPT)」を参照して下さい。

その中の例1で、作成しているファンクション「get_encrypt_data()」を利用するとINSERT・UPDATEでは、以下のようにあります。

      insert into テーブル名 values( get_encrypt_data('データ1') ,'データ2' );
     update テーブル名 set 項目1 = get_encrypt_data('データ1') , 項目2 = 'データ2';

暗号されたデーベースカラムのデータ型はRAW型になります。
     

(2) 暗号化されたデータを復号化してSELECT
 
DBMS_CRYPTO.DECRYPTファンクションを使用します。

これも、暗号化と同様に、ストアドファクションを作成すると使用しやすくなります。

ストアドファンクション作成例は、PL/SQLの「文字列を復号化する(10g)(DBMS_CRYPTO.DECRYPT)」を参照して下さい。

その中の例1で、作成しているファンクション「get_decrypt_data()」を利用するとINSERT・UPDATEでは、以下のようになります。

      select get_decrypt_data( 項目1 ) from テーブル名

スポンサード リンク

シーケンス(順序)の取得(SEQUENCE)
SELECTした行をロックする(SELECT〜FOR UPDATE)
文字列を暗号化してINSERT・UPDATEする/複合化してSELECTする(10g)
項目のバイト数を取得する( VSIZE )
組織の階層構造を出力する( SYS_CONNECT_BY_PATH )
SELECT結果を見やすくする(CHR)
データのダンプを取得する(DUMP)

SQL(DML2) へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ