I wi sh, когда выполняется условие if, значения двух столбцов могут быть изменены. Я новичок в SQL, вы можете мне помочь? Мой код:
DO
$do$
BEGIN
IF (select * from V1 where starting-lag >= 7)
THEN
INSERT INTO newstart VALUES (starting - 7);
INSERT INTO newend VALUES (starting - 8);
ELSE
INSERT INTO newstart VALUES (lag +1);
INSERT INTO newend VALUES (lag);
END IF;
END
$do$
;
V1(id, starting, ending, lag, lead,newstart,newend)
Он возвращает:
ERROR: subquery must return only one column
LINE 1: SELECT (select * from V1 where (starting-lag) >= 7)
^
QUERY: SELECT (select * from V1 where (starting-lag) >= 7)
CONTEXT: PL/pgSQL function inline_code_block line 3 at IF
Я пытался использовать обновление, но оно возвращает DETAIL: Views that return window functions are not automatically updatable. HINT: To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule.