Data definition statements
It is recommended to avoid use of DDL in programs.
When using Data Definition Statements like CREATE TABLE, ALTER
TABLE, DROP TABLE, only a limited SQL
syntax works on all database servers. Most databases support NOT
NULL, CHECK, PRIMARY KEY, UNIQUE, FOREIGN
KEY constraints, but the syntax for naming constraints
is different.
CREATE TABLE customer (
cust_id INTEGER NOT NULL,
cust_name CHAR(50) NOT NULL,
cust_lastorder DATE NOT NULL,
cust_group INTEGER,
PRIMARY KEY (cust_id),
UNIQUE (cust_name),
FOREIGN KEY (cust_group) REFERENCES group (group_id)
) Some engines like SQL Server have a different default behavior
for NULL columns when you create a table. You
may need to set up database properties to make sure that a column
allows nulls if the NOT NULL constraint is
not specified.
When you want to create tables in programs using non-standard clauses (for example to define storage options), you must use dynamic SQL and adapt the statement to the target database server.