2017-10-20 11 views
-3

customerテーブルの列passwdを挿入または更新する前に開始するbiufer_customerというトリガを作成します。トリガーは、パスワードが正確に6文字で、それ以上でないことを確認します。この要件が満たされない限り、トリガーはトランザクションを停止し、このエラーが発生したことを確認する必要があります。PL/SQL create trigger

create or replace trigger biufer_customer 
before insert or update 
of passwd 
on customer 
for each row 
when (new.passwd <> 6) 
begin 
    raise_application_error(-20001,'Wrong password!'); 
end; 
/
+1

あなたの実際の質問は何を使うべきでしょうか?私たちはあなたのためにあなたの任務を行うつもりではありません。そのコードは何ですか?あなたはそれを実行しようとしましたか?エラーが発生しましたか?何だって? –

+0

特殊文字(ASCII以外の文字)はどうですか?多くの場合、パスワードに特殊文字を使用することをお勧めします。あなたは別々に数えることができます。[LENGTH](http://docs.oracle.com/database/121/SQLRF/functions100.htm#SQLRF00658) –

+0

私は長さ関数を逃していましたが、コードは動作します:) – Skorpan

答えて

1

あなたはLENGTH機能

... 
when(length(new.passwd) <> 6) 
... 
+0

私は見逃していましたlength関数ありがとうたくさん:) – Skorpan

+0

@Skorpanあなたは大歓迎です:) –