在PostgreSql中创建表时,我在调用用户定义的函数时遇到错误
功能是:
CREATE OR REPLACE FUNCTION nextval_special()
RETURNS text AS
SELECT 'T'||to_char(nextval('entity_collector_team_team_code_seq'), 'FM10000')
LANGUAGE sql VOLATILE
COST 100;
表是:
CREATE TABLE testtable1
(
id integer,
teamcode AS (dbo.nextval_special())
)
我收到以下错误:
错误:“AS”处或附近的语法错误
第4行:团队代码AS(dbo.nextval_special())
entity_collector_team_team_code_seq它生成序列号的序列,如1。 创建表后,我希望输出顺序为T10001和T10002。
先谢谢
答案 0 :(得分:1)
Postgres没有计算列。
您可能需要为列指定一个默认值:
CREATE TABLE testtable1
(
id integer,
teamcode text not null default dbo.nextval_special()
);