If VALIDATE BIND is specified at BIND time, the privileges required to manipulate tables and views must exist at bind time. If the privileges or the referenced objects do not exist and SQLERROR NOPACKAGE is in effect, the bind operation is unsuccessful. If SQLERROR CONTINUE is specified, then the bind is successful and any statements in error are flagged. Any attempt to execute a statement flagged as an error will result in an error in the application.
If a package is bound with VALIDATE RUN, all normal BIND processing is completed, but the privileges required to use the tables and views referenced in the application need not exist at that time. If any privilege required for a statement does not exist at bind time, an incremental bind is performed whenever the statement is first executed within an application, and all privileges required for the statement must exist. If any privilege does not exist, execution of the statement is unsuccessful. When the authorization check is performed at run time, it is performed using the package owner's authorization ID.