1
임시 테이블을 사용하지 않도록 배열에서 테이블 필드를 업데이트하는 방법은 무엇입니까? 사용자가 배열을 재정렬 테이블에 전달합니다.PostgreSql : 배열에서 테이블을 업데이트하는 방법?
create TABLE items
(
id serial primary key,
name text,
select_order int
)
insert into items(name, select_order)
values
('cucumber',0),
('milk',1),
('coffee',2),
('water',3)
select * from items order by select_order;
DO
$body$
DECLARE var_array int[]:='{3,0,2,1}';
BEGIN
update items ??
END;
$body$
이 예에서 최종 결과
select * from items order by select_order;
name select_order
------------------------
water 0
cucumber 1
coffee 2
milk 3
좀 더 구체적 일 수 있습니까? 이'update'가 어떻게 되길 원합니까? 나는 당신의 질문에서 그것을 알아낼 수 없다. 'var_array'는 단지 정수형의리스트 일 뿐이다. – redneb
입력 배열의 색인은 해당하는 이전 위치입니다. 아래의 답변에서 볼 수 있듯이 "규칙"은 올바른 방법입니다. – Oleg