设置子查询结果为默认值
Set subquery result as default value
我想做下一个:
ALTER TABLE bets
ADD COLUMN owner_id bigint NOT NULL DEFAULT (SELECT min(user_id) FROM users);
我很困惑 postgres 不允许将 SELECT min(user_id) FROM users
子查询的结果保存到变量然后再使用它。
知道如何将子查询结果设置为默认值吗?
P.S。 bets
table 不为空
这似乎对我有用:
create function my_foobar_default(OUT id uuid)
as 'select id from foobar order by X desc limit 1'
language sql
alter table Y
add column if not exists SOMEVALUE uuid not null default my_foobar_default()
我想做下一个:
ALTER TABLE bets
ADD COLUMN owner_id bigint NOT NULL DEFAULT (SELECT min(user_id) FROM users);
我很困惑 postgres 不允许将 SELECT min(user_id) FROM users
子查询的结果保存到变量然后再使用它。
知道如何将子查询结果设置为默认值吗?
P.S。 bets
table 不为空
这似乎对我有用:
create function my_foobar_default(OUT id uuid)
as 'select id from foobar order by X desc limit 1'
language sql
alter table Y
add column if not exists SOMEVALUE uuid not null default my_foobar_default()