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

kch*_*hiu 4 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
 );
Run Code Online (Sandbox Code Playgroud)

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

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

 CREATE TABLE slides(
    title          VARCHAR(MAX_TITLE_LENGTH),
    -- ... other stuff
 );
Run Code Online (Sandbox Code Playgroud)

我正在使用PostgreSQL 8.4.

a_h*_*ame 7

这就是域名的用途:

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