Drops a profile definition.
1 – Environment
You can use the DROP PROFILE statement: o In interactive SQL o Embedded in host language programs o As part of a procedure in an SQL module or other compound statement o In dynamic SQL as a statement to be dynamically executed
2 – Format
DROP -+-> PROFILE --> <profilename> ----------------+--+-+---------------+-+-> +-> DEFAULT PROFILE -+----------------------+-+ | +-> CASCADE ----+ | +-> ALIAS aliasname ---+ | +-> RESTRICT ---+ | | +-> IF EXISTS --+ | +-------<-----------+
3 – Arguments
3.1 – ALIAS aliasname
When attached to multiple databases, the aliasname is required to direct the DROP command to the appropriate database.
3.2 – CASCADE
This option causes all user definitions to be altered to remove the reference to this profile.
3.3 – DEFAULT_PROFILE
Drops the special profile RDB$DEFAULT_PROFILE.
3.4 – IF_EXISTS
Prevents SQL command language from displaying error messages if the referenced object does not exist in the database.
3.5 – RESTRICT
If the profile is used by a user in the database, the DROP PROFILE statement will fail. This is the default.
4 – Examples
Example 1: Using Delimited Identification Mixed-Case Profile Names SQL> DROP PROFILE Decision_Support; %RDB-E-NO_META_UPDATE, metadata update failed -RDMS-E-PRFNEXISTS, a quota does not exist with the name "DECISION_SUPPORT" SQL> SET DIALECT 'SQL99'; SQL> DROP PROFILE "Decision_Support"; SQL> COMMIT; Example 2: Using CASCADE to remove assigned profiles from users This example demonstrates that there may be dependencies between profiles and user objects. The CASCADE action will remove the profile from all users to which is assigned. SQL> create profile DECISION_SUPPORT cont> comment is 'restrictions for read-only users' cont> default transaction read only cont> transaction modes (read only, shared); SQL> SQL> show profile DECISION_SUPPORT; DECISION_SUPPORT Comment: restrictions for read-only users Transaction modes (read only, shared) Default transaction read only SQL> SQL> create user FREEMAN cont> identified externally cont> profile DECISION_SUPPORT; SQL> SQL> show user FREEMAN; FREEMAN Identified externally Account is unlocked Profile: DECISION_SUPPORT No roles have been granted to this user SQL> SQL> drop profile DECISION_SUPPORT restrict; %RDB-E-NO_META_UPDATE, metadata update failed -RDMS-E-PRFINUSE, entry "DECISION_SUPPORT" is referenced by user "FREEMAN" SQL> SQL> drop profile DECISION_SUPPORT cascade; SQL> SQL> show user FREEMAN; FREEMAN Identified externally Account is unlocked No roles have been granted to this user SQL> SQL> commit;