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