MySQL에서 PosgreSql로 마이그레이션하는 중이며 일괄 업데이트를 호출하려는 proc/function에 약간의 문제가 있습니다.Spring을 이용한 PostgreSQL 배치 업데이트. 반환 값이없는 함수를 작성하는 방법
값을 void로 선언하더라도 항상 값을 반환하는 것처럼 보이면 Postgresql 함수에서 업데이트를 수행하려면 어떻게해야합니까?
이 내용은 문제를 설명하기위한 간단한 예입니다.
CREATE OR REPLACE FUNCTION update_function(
IN i_id bigint)
RETURNS void AS $$
DECLARE
d_id bigint;
BEGIN
UPDATE test_table set id = '' where id = i_id;
RETURN;
END;
$$ LANGUAGE plpgsql;
나는 이것이이 오류가있는 SpringTemplate.update() 메소드를 사용하여 호출하는 경우 "org.postgresql.util.PSQLException :. 아무 것도 예상되지 않을 때 결과가 반환을" 업데이트를 호출하고 값을 반환하면 오류가 발생합니다. 그렇게 이해합니다.
제 질문은 값을 반환하지 않는 postgresql 함수를위한 방법이 있습니까, 아니면 배치 업데이트를 수행 할 다른 방법을 찾아야합니까? 내가 함수를 사용하여 업데이트를 수행하려는 이유는 proc/함수에서 업데이트되는 많은 테이블이 있다는 것입니다. 위 함수는 간단한 설명입니다.
다른 대안은 입력 값의 배열을 구문 분석하고 반복 할 수 있습니다.
이 함수를 호출하는 데 사용하는 포스트그레스 버전과 정확한 쿼리는 무엇입니까? –
psql (PostgreSQL) 9.1.5와 "select save_class_function (?,?,?,?,?)"을 호출합니다. –
'execute()'메소드는 어떻게됩니까? –