SQL Create Table as

Steffen2412

Grünschnabel
Hallo,

ich möchte eine Tabelle aus einer Unterabfrage erstellen.
Normal geht es auch, aber ich möchte beim erstellen der Tabelle gleich den PK, den Index, den Tablespace für den Index und den Tablespace für die Tabelle angeben.

Kann mir jemand sagen wie die Syntax dazu lautet oder ob das überhaupt geht?

Mfg

Steffen
 
Wie schon so oft erwähnt wäre es sehr sinnvoll wenn du das verwendete Datenbanksystem angibst, damit dir richtig geholfen werden kann.

Ich tippe mal auf Oracle ?
 
Hier ein Auszug aus der Oracle Hilfe:

Oracle Database derives datatypes and lengths from the subquery. Oracle Database follows the following rules for integrity constraints and other column and table attributes:

* Oracle Database automatically defines on columns in the new table any NOT NULL constraints that were explicitly created on the corresponding columns of the selected table if the subquery selects the column rather than an expression containing the column. If any rows violate the constraint, then the database does not create the table and returns an error.
* NOT NULL constraints that were implicitly created by Oracle Database on columns of the selected table (for example, for primary keys) are not carried over to the new table.
* In addition, primary keys, unique keys, foreign keys, check constraints, partitioning criteria, indexes, and column default values are not carried over to the new table.

D.h. in einem CTAS (Create Table As Select) kannst du die Indizes etc. nicht gleich mit definieren.
 
Zurück