diff options
Diffstat (limited to 'doc/src/sgml/ref/drop_table.sgml')
-rw-r--r-- | doc/src/sgml/ref/drop_table.sgml | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/doc/src/sgml/ref/drop_table.sgml b/doc/src/sgml/ref/drop_table.sgml new file mode 100644 index 0000000..450458f --- /dev/null +++ b/doc/src/sgml/ref/drop_table.sgml @@ -0,0 +1,129 @@ +<!-- +doc/src/sgml/ref/drop_table.sgml +PostgreSQL documentation +--> + +<refentry id="sql-droptable"> + <indexterm zone="sql-droptable"> + <primary>DROP TABLE</primary> + </indexterm> + + <refmeta> + <refentrytitle>DROP TABLE</refentrytitle> + <manvolnum>7</manvolnum> + <refmiscinfo>SQL - Language Statements</refmiscinfo> + </refmeta> + + <refnamediv> + <refname>DROP TABLE</refname> + <refpurpose>remove a table</refpurpose> + </refnamediv> + + <refsynopsisdiv> +<synopsis> +DROP TABLE [ IF EXISTS ] <replaceable class="parameter">name</replaceable> [, ...] [ CASCADE | RESTRICT ] +</synopsis> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para> + <command>DROP TABLE</command> removes tables from the database. + Only the table owner, the schema owner, and superuser can drop a + table. To empty a table of rows + without destroying the table, use <link linkend="sql-delete"><command>DELETE</command></link> + or <link linkend="sql-truncate"><command>TRUNCATE</command></link>. + </para> + + <para> + <command>DROP TABLE</command> always removes any indexes, rules, + triggers, and constraints that exist for the target table. + However, to drop a table that is referenced by a view or a foreign-key + constraint of another table, <literal>CASCADE</literal> must be + specified. (<literal>CASCADE</literal> will remove a dependent view entirely, + but in the foreign-key case it will only remove the foreign-key + constraint, not the other table entirely.) + </para> + </refsect1> + + <refsect1> + <title>Parameters</title> + + <variablelist> + <varlistentry> + <term><literal>IF EXISTS</literal></term> + <listitem> + <para> + Do not throw an error if the table does not exist. A notice is issued + in this case. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><replaceable class="parameter">name</replaceable></term> + <listitem> + <para> + The name (optionally schema-qualified) of the table to drop. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>CASCADE</literal></term> + <listitem> + <para> + Automatically drop objects that depend on the table (such as + views), + and in turn all objects that depend on those objects + (see <xref linkend="ddl-depend"/>). + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>RESTRICT</literal></term> + <listitem> + <para> + Refuse to drop the table if any objects depend on it. This is + the default. + </para> + </listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>Examples</title> + + <para> + To destroy two tables, <literal>films</literal> and + <literal>distributors</literal>: + +<programlisting> +DROP TABLE films, distributors; +</programlisting></para> + </refsect1> + + <refsect1> + <title>Compatibility</title> + + <para> + This command conforms to the SQL standard, except that the standard only + allows one table to be dropped per command, and apart from the + <literal>IF EXISTS</literal> option, which is a <productname>PostgreSQL</productname> + extension. + </para> + </refsect1> + + <refsect1> + <title>See Also</title> + + <simplelist type="inline"> + <member><xref linkend="sql-altertable"/></member> + <member><xref linkend="sql-createtable"/></member> + </simplelist> + </refsect1> + +</refentry> |