1
我正在嘗試編寫一個函數,它將使用存儲在同一個表的多個列中的一列中的值更新列。飼養欄表示通常不完整的分類學層次結構,因此我希望接收欄存儲最低的可用值。這是我得到的最接近的,我感覺我仍然很遠:)。PostgreSQL - 使用同一表中其他列的值更新一列
CREATE OR REPLACE FUNCTION get_taxon()
RETURNS void LANGUAGE plpgsql AS
$BODY$
BEGIN
IF taxon.subespecie is not null THEN
UPDATE taxon SET taxon = subespecie FROM taxon;
ELSIF taxon.especie is not null THEN
UPDATE taxon SET taxon = especie;
ELSIF taxon.genero is not null THEN
UPDATE taxon SET taxon = genero;
ELSIF taxon.subfamilia is not null THEN
UPDATE taxon SET taxon = subfamilia;
ELSIF taxon.familia is not null THEN
UPDATE taxon SET taxon = familia;
ELSIF taxon.infraordem is not null THEN
UPDATE taxon SET taxon = infraordem;
ELSIF taxon.subordem is not null THEN
UPDATE taxon SET taxon = subordem;
END IF;
END;
$BODY$
當我打電話的功能我得到這個錯誤:
ERROR: missing FROM-clause entry for table "taxon" LINE 1: SELECT taxon.subespecie is not null
Appart酒店從這個我也有一般的疑問:應被宣佈爲這樣的功能是什麼樣的RETURN
,現有的更新字段?
謝謝帕特里克 - 這正是我需要的!我現在可以將其包裝爲觸發函數。 – Lisdengard