SQL$HELP_OLD72.HLB  —  DROP  CATALOG
    Deletes the specified catalog definition. You must delete all
    schemas and definitions contained in a catalog before you can
    delete that catalog. If other definitions exist that refer to the
    named catalog, the deletion fails.

    The DROP CATALOG statement lists all schemas and definitions that
    it is going to delete. You can roll back the statement if you do
    not want to delete these definitions.

1  –  Environment

    You can use the DROP CATALOG statement:

    o  In interactive SQL

    o  Embedded in host language programs to be precompiled

    o  As part of a procedure in an SQL module

    o  In dynamic SQL as a statement to be dynamically executed

2  –  Format

  DROP CATALOG <catalog-name> -+-+---------------+-+->
                               | +-> CASCADE ----+ |
                               | +-> RESTRICT  --+ |
                               | +-> IF EXISTS --+ |
                               +----------<--------+

  catalog-name =

  -+------> <name-of-catalog> --------------+->
   |                                        |
   +-> " -> <alias>.<name-of-catalog> ->"  -+

3  –  Arguments

3.1  –  alias.name-of-catalog

    Specifies a name for the attachment to the database. Always
    qualify the catalog name with an alias if your program or
    interactive SQL statements refer to more than one database.
    Separate the name of the catalog from the alias with a period,
    and enclose the qualified name in double quotation marks.

    You must issue a SET QUOTING RULES statement before you can
    qualify a catalog name with an alias.

3.2  –  CATALOG

    Syntax options:

    CASCADE | RESTRICT

    Performs a restricted delete by default. If you prefer to delete
    all definitions contained in the catalog, you can specify the
    DROP CATALOG CASCADE statement.

3.3  –  catalog-name

    Specifies the module catalog name.

3.4  –  IF_EXISTS

    Prevents SQL command language from displaying error messages if
    the referenced object does not exist in the database.

4  –  Example

    Example 1: Deleting a catalog

    The following statement deletes the catalog DEPT1 associated with
    the alias PERSONNEL_ALIAS:

    SQL> ATTACH 'ALIAS PERSONNEL_ALIAS FILENAME CORPORATE_DATA';
    SQL> SET QUOTING RULES 'SQL99';
    SQL> CREATE CATALOG "PERSONNEL_ALIAS.DEPT1";
    SQL> SHOW CATALOG;
    Catalogs in database PERSONNEL_ALIAS
        "PERSONNEL_ALIAS.ADMINISTRATION"
        "PERSONNEL_ALIAS.RDB$CATALOG""
        "PERSONNEL_ALIAS.DEPT1"
    SQL> DROP CATALOG "PERSONNEL_ALIAS.DEPT1";
    SQL> SHOW CATALOG;
    Catalogs in database PERSONNEL_ALIAS
        "PERSONNEL_ALIAS.ADMINISTRATION"
        "PERSONNEL_ALIAS.RDB$CATALOG"
    SQL> DROP CATALOG "PERSONNEL_ALIAS.RDB$CATALOG";
    %SQL-F-NODROPSYSCAT, Catalog "PERSONNEL_ALIAS.RDB$CATALOG" may not be
    dropped
    SQL>
Close Help