BIND 時に VALIDATE BIND を指定する場合、バインド実行時に、 表や視点を扱うときに必要な特権が存在していなければなりません。 特権または参照オブジェクトが存在せず、SQLERROR NOPACKAGE が有効である場合、 バインド操作は失敗します。 SQLERROR CONTINUE を指定する場合、バインドは成功し、 エラーのあるステートメントにはフラグが立てられます。 エラーのフラグが立てられたステートメントを実行しようとすると、 アプリケーションでエラーが生じます。
VALIDATE RUN でパッケージがバインドされると、通常の BIND 処理はすべて完了しますが、 この時点では、アプリケーションで参照する表や視点を使うときに必要な特権は、 存在していなくてもかまいません。 ステートメントに必要な特権がバインド実行時に存在しない場合、 アプリケーション内でステートメントを初めて実行するときに、 必ず増分バインドが実行されます。このときには、 ステートメントに必要なすべての特権が存在していなければなりません。 何らかの特権が存在しない場合、ステートメントを実行しても失敗します。 実行時に許可検査が行われるときには、パッケージ所有者の許可 ID を使用して行われます。