如何在SQL CREATE TABLE中使用常量?

时间:2011-01-01 00:48:40

标签: sql postgresql

我有3个SQL表,定义如下:

 CREATE TABLE organs(
    abbreviation   VARCHAR(16),
    -- ... other stuff
 );
 CREATE TABLE blocks(
    abbreviation   VARCHAR(16),
    -- ... other stuff
 );
 CREATE TABLE slides(
    title          VARCHAR(16),
    -- ... other stuff
 );

以上3个字段都使用VARCHAR(16),因为它们是相关的并且具有相同的长度限制。

是否有(最好是可移植的)方法将'16'放入常量/变量并在CREATE TABLE中引用它?例如。这样的事情会很好:

 CREATE TABLE slides(
    title          VARCHAR(MAX_TITLE_LENGTH),
    -- ... other stuff
 );

我正在使用PostgreSQL 8.4。

1 个答案:

答案 0 :(得分:7)

这就是域名的用途:

CREATE DOMAIN title_data AS varchar(16);
CREATE TABLE slides(
    title          title_data,
    -- ... other stuff
 );