Data Definition Operators

[This is preliminary documentation and subject to change.]

All scalar-, row-, table-, and Boolean-valued expressions required by DDL operators are represented in the same way as in DML expressions.

DBOP_alter_character_set
Node used to alter the definition of an existing character set. The name of the character set to be altered is specified directly by this node.
DBOP_alter_collation
Node used to alter the definition of an existing collation. The name of the collation to be altered is specified directly by this node.
DBOP_alter_domain
Node used to alter the definition of an existing domain. The name of the domain to be altered is specified directly by this node.
DBOP_alter_index
Node used to alter the definition of an existing index. The name of the index to be altered is specified directly by this node.
DBOP_alter_procedure
Node used to alter the definition of an existing procedure. The name of the procedure to be altered is specified directly by this node.
DBOP_alter_schema
Node used to alter the definition of an existing schema. The name of the schema to be altered is specified directly by this node.
DBOP_alter_table
Node used to alter the definition of an existing table. The name of the table to be altered is specified directly by this node.
DBOP_alter_trigger
Node used to alter the definition of an existing trigger. The name of the trigger to be altered is specified directly by this node.
DBOP_alter_view
Node used to alter the definition of an existing view. The name of the view to be altered is specified directly by this node.
DBOP_coldef_list_anchor
Node identifying the start of a list of coldef_list_element nodes.
DBOP_coldef_list_element
Node used to specify the definition of a column (typically in conjunction with a create_table node). Note that this node does not attempt to describe all of the properties that may be associated with a column, but just the basic, immutable properties. More elaborate properties can be added to the column definition by adding a property_list_anchor and subsequent property_list_element nodes.
DBOP_create_assertion
Node used to specify creation of an assertion. An assertion is a standalone constraint in a schema and is typically used to specify a constraint that affects more than one table. The name of the assertion to be created is specified directly by this node.
DBOP_create_character_set
Node used to specify creation of a character set. A character set is a collection of characters used to create character strings. is The name of the character set to be created is specified directly by this node.
DBOP_create_collation
Node used to specify creation of a collation. A collation is a set of rules that control how strings in a character set are compared. The name of the collation to be created is specified directly by this node.
DBOP_create_domain
Node used to specify creation of a domain. A domain is a named meta data type which can be used to specify a data type length as well as a default value, constraints, and collations. The name of the domain to be created is specified directly by this node.
DBOP_create_index
Node used to specify creation of an index. The name of the index to be created is specified directly by this node.
DBOP_create_procedure
Node used to specify creation of a procedure. The name of the procedure to be created is specified directly by this node.
DBOP_create_schema
Node used to specify creation of a schema.
DBOP_create_synonym
Defines a synonym (attached table) in the local schema for a table in an outside data source. The node takes one required and one optional input. The required input is a DBOP_table_name operator denoting the synonym name. The local synonym name is represented in the pwszValue field of the DBOP_create_synonym node. The first required input is a DBOP_table_name defining the name of the table in the external data source. The naming follows the scheme used by table names. The second optional input is a DBOP_property_list_anchor which contains a list of DBOP_property_list_elements defining the external data source. If there is no second child, the synonym is assumed to be local.
DBOP_create_table
Node used to specify creation of a table. The name of the table to be created is specified directly by this node.
DBOP_create_temporary_table
Node used to specify creation of a temporary table. The name of the table to be created is specified directly by this node.
DBOP_create_translation
Node used to specify creation of a translation. A translation specifies how to translate from one character set to another. The name of the translation to be created is specified directly by this node.
DBOP_create_trigger
Node used to specify creation of a trigger. A trigger specifies what actions to perform after certain actions have occurred in the DBMS. The name of the trigger to be created is specified directly by this node.
DBOP_create_view
Node used to specify creation of a view. The name of the view to be created is specified directly by this node. The node takes two inputs. The first required input is a table-valued expression defining the contents of the view. The columns resulting from this expression are exactly the columns of the view. The second optional input is a DBOP_property_list_anchor node with one DBOP_property_list_element node to specify the DB_PROPERTY_CHECK_OPTION property. If the value of this property is TRUE, this is equivalent to the WITH LOCAL CHECK OPTION clause; if the value of this property is FALSE, this is equivalent to the WITH CASCADED CHECK OPTION clause (which is the default).
DBOP_drop_assertion
Node used to specify deletion of a assertion. The name of the assertion to be deleted is specified directly by this node.
DBOP_drop_character_set
Node used to specify deletion of a character set. The name of the character set to be deleted is specified directly by this node.
DBOP_drop_collation
Node used to specify deletion of a collation. The name of the collation to be deleted is specified directly by this node.
DBOP_drop_domain
Node used to specify deletion of a domain. The name of the domain to be deleted is specified directly by this node.
DBOP_drop_index
Node used to specify deletion of a index. The name of the index to be deleted is specified directly by this node.
DBOP_drop_procedure
Node used to specify deletion of a procedure. The name of the procedure to be deleted is specified directly by this node.
DBOP_drop_schema
Node used to specify deletion of a schema. The name of the schema to be deleted is specified directly by this node.
DBOP_drop_synonym
Removes a synonym from the local schema; the name of the synonym is included in the node in the pwszValue field.
DBOP_drop_table
Node used to specify deletion of a table. The name of the table to be deleted is specified directly by this node.
DBOP_drop_translation
Node used to specify deletion of a translation. The name of the translation to be deleted is specified directly by this node.
DBOP_drop_trigger
Node used to specify deletion of a trigger. The name of the trigger to be deleted is specified directly by this node.
DBOP_drop_view
Node used to specify deletion of a view. The name of the view to be deleted is specified directly by this node.
DBOP_foreign_key
Node used to define a Foreign Key.
DBOP_grant_privileges
Node used to grant privileges on an object.
DBOP_index_list_anchor
Node identifying the start of a list of DBOP_index_list_element nodes.
DBOP_index_list_element
Each index list element contains the name of an index and an optional table name.
DBOP_primary_key
Node used to define a Primary Key.
DBOP_property_list_anchor
Node identifying the start of a list of DBOP_property_list_element nodes.
DBOP_property_list_element
Node used to specify a property for an object. This is a generic node consisting of a GUID and a VARIANT. The GUID represents the property to set and the VARIANT the value to set the property to. OLE DB specifies a set of "well-known" properties (see below) that can be used to define properties for an object. Individual providers may also define GUIDs representing "extended properties" that the provider supports that can also be set using this node.
DBOP_referenced_table
Node used to specify the referenced table in a Primary Key-Foreign Key relationship.
DBOP_rename_object
Node used to specify the new name of an object being renamed via a DBOP_alter_objecttype node.
DBOP_revoke_privileges
Node used to revoke privileges from an object.
DBOP_schema_authorization
Node used to specify the authorization name for schema creation.
DBOP_schema_name
Node used to specify the user name associated with a schema for schema creation.
DBOP_unique_key
Node used to define a Unique Key.

Connecting DML and DDL Command Nodes