我想从 PostgreSQL 中具有索引位置的数值数组中提取一个值。
我的数组就像{0.10,0.20,0.30},类型是numeric[],数组位置是integer计算的array_position。语法将是SELECT myarray[array_position];,但是当我尝试时(例如):
SELECT'{0.10,0.20,0.30}'::numeric[][1];
Run Code Online (Sandbox Code Playgroud)
它返回了我整个数组。
如何从 PostgreSQL 中具有索引位置的数组中提取值?
我不想在数据库中添加触发器PostgreSQL。此触发器用于连接 2 列的值以更新第三列。我不想在表中插入或更新行时运行它。
桌子
CREATE TABLE IF NOT EXISTS FILE(ID INT NOT NULL PRIMARY KEY, FOLDER TEXT, NAME TEXT, URL TEXT);
Run Code Online (Sandbox Code Playgroud)
功能
CREATE OR REPLACE FUNCTION LINK() RETURNS trigger AS
$$
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE FILE
SET URL = CONCAT(FOLDER, NAME)
WHERE ID = OLD.ID;
ELSIF (TG_OP = 'INSERT') THEN
UPDATE FILE
SET URL = CONCAT(FOLDER, NAME)
WHERE ID = NEW.ID;
END IF;
RETURN NULL;
END
$$
LANGUAGE PLPGSQL;
Run Code Online (Sandbox Code Playgroud)
扳机
CREATE TRIGGER TRIGGER_LINK
BEFORE INSERT …Run Code Online (Sandbox Code Playgroud)