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

问题描述 投票:4回答:1

我有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。

sql postgresql
1个回答
7
投票

这就是域名的用途:

CREATE DOMAIN title_data AS varchar(16);
CREATE TABLE slides(
    title          title_data,
    -- ... other stuff
 );
© www.soinside.com 2019 - 2024. All rights reserved.