raise TypeError("coalesce only supports two arguments on Oracle")
return "nvl(%s)" % compiler.process(element.clauses, **kw)
-* :class:`~sqlalchemy.schema.DDLElement` - The root of all DDL expressions,
- like CREATE TABLE, ALTER TABLE, etc. Compilation of ``DDLElement``
- subclasses is issued by a ``DDLCompiler`` instead of a ``SQLCompiler``.
- ``DDLElement`` also features ``Table`` and ``MetaData`` event hooks via the
- ``execute_at()`` method, allowing the construct to be invoked during CREATE
- TABLE and DROP TABLE sequences.
+* :class:`.DDLElement` - The root of all DDL expressions,
+ like CREATE TABLE, ALTER TABLE, etc. Compilation of :class:`.DDLElement`
+ subclasses is issued by a :class:`.DDLCompiler` instead of a
+ :class:`.SQLCompiler`. :class:`.DDLElement` can also be used as an event hook
+ in conjunction with event hooks like :meth:`.DDLEvents.before_create` and
+ :meth:`.DDLEvents.after_create`, allowing the construct to be invoked
+ automatically during CREATE TABLE and DROP TABLE sequences.
+
+ .. seealso::
+
+ :ref:`metadata_ddl_toplevel` - contains examples of associating
+ :class:`.DDL` objects (which are themselves :class:`.DDLElement`
+ instances) with :class:`.DDLEvents` event hooks.
* :class:`~sqlalchemy.sql.expression.Executable` - This is a mixin which
should be used with any expression class that represents a "standalone"
:param statement:
A string or unicode string to be executed. Statements will be
- processed with Python's string formatting operator. See the
- ``context`` argument and the ``execute_at`` method.
+ processed with Python's string formatting operator using
+ a fixed set of string substitutions, as well as additional
+ substitutions provided by the optional :paramref:`.DDL.context`
+ parameter.
A literal '%' in a statement must be escaped as '%%'.