我有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。
答案 0 :(得分:7)
这就是域名的用途:
CREATE DOMAIN title_data AS varchar(16); CREATE TABLE slides( title title_data, -- ... other stuff );