下面的 GENERATED 子句都無法在 psql 中編譯,帶有錯誤 42601
什么是正確的語法?(或者不支持 GENERATED NUMRANGEs 嗎?)
CREATE TABLE lh (
l NUMERIC,
h NUMERIC,
--lhr NUMRANGE GENERATED ALWAYS AS numrange(l,h) STORED
--lhr NUMRANGE GENERATED ALWAYS AS (l,h)::NUMRANGE STORED
--lhr NUMRANGE GENERATED ALWAYS AS '(l,h)'::NUMRANGE STORED
--lhr NUMRANGE GENERATED ALWAYS AS (l::NUMERIC,h:NUMERIC) STORED
lhr NUMRANGE GENERATED ALWAYS AS (l::NUMERIC,h:NUMERIC)::NUMRANGE STORED
);
uj5u.com熱心網友回復:
你可以:
CREATE TABLE lh (
l NUMERIC,
h NUMERIC,
lhr NUMRANGE GENERATED ALWAYS AS (numrange(l,h)) STORED
);
您需要將運算式包含在().
不知道為什么你會因為它只是復制現有的資料,這些資料可以像numrange(l,h) AS lhr.
uj5u.com熱心網友回復:
如果您只是為了SELECT方便而使用范圍,請使用 as VIEW:
CREATE VIEW lh_range AS
SELECT l, h, numrange(l, h) AS lhr
FROM lh
見現場演示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/337138.html
標籤:PostgreSQL 目录
