plpgsql 함수에서 RETURNING 절의 결과를 어떻게 반환합니까?

조 쇼

나는 소요 상당히 일반적인 기능하고 싶은 INSERT, UPDATE또는 DELETE포함 할 수 있습니다, RETURNING절을하고, 그 결과를 반환합니다. 상당히 인위적인 예는 다음과 같을 수 있습니다.

CREATE FUNCTION my_insert(sql_insert TEXT) RETURNS record AS $$
DECLARE
    result record;
BEGIN
    EXECUTE sql_insert INTO result;
    RETURN result;
END;
$$ LANGUAGE plpgsql;

SELECT my_insert('INSERT INTO foo VALUES (1) RETURNING some_column, another_column');

이것은 정상적으로 작동하지만 일반적으로 테이블 유형을 반환 record하기 때문에 여기에서 올바른 유형 이라고 생각하지 않습니다 RETURNING. 내 함수에서 똑같은 형식을 반환하고 싶지만 RETURNING방법을 잘 모르겠습니다.

조 쇼

함수에서 테이블 구조를 정의하는 한 반환 record은 괜찮습니다 SELECT.

SELECT * FROM my_insert('INSERT INTO foo VALUES (1) RETURNING some_column, another_column)
    AS f(some_column bigint, another_column timestamp);

my_insert함수 의 반환 값 이 항상 특정 유형이 될 경우 복합 유형이 더 나은 방법 일 수 있습니다.

CREATE TYPE my_insert_result AS (
    some_column bigint,
    another_column timestamp
);

그런 다음 해당 유형을 반환하도록 함수를 변경합니다.

CREATE FUNCTION my_insert(sql_insert TEXT) RETURNS my_insert_result AS $$
DECLARE
    result my_insert_result;
BEGIN
    EXECUTE sql_insert INTO result;
    RETURN result;
END;
$$ LANGUAGE plpgsql;

SELECT * FROM my_insert('INSERT INTO foo VALUES (1) RETURNING some_column, another_column');

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android에서 함수의 결과를 어떻게 반환 할 수 있습니까?

분류에서Dev

함수에서 fs.lstat 메서드의 결과를 어떻게 반환 할 수 있습니까?

분류에서Dev

노드의 함수에서 데이터를 어떻게 반환합니까?

분류에서Dev

Flutter에서 String 함수의 결과를 어떻게 인쇄합니까?

분류에서Dev

함수의 인수 수를 어떻게 반환합니까?

분류에서Dev

C에서 gettimeofday ()의 반환 값과 일치하는 psql (Postgres) 함수를 어떻게 작성합니까?

분류에서Dev

SPServices CAMLQuery는 조회 열의 값과 함께 ows ID를 반환합니다. 결과에서 ID를 제거하려면 어떻게해야합니까?

분류에서Dev

스레드에서 실행 된 내 메서드의 결과를 어떻게 반환합니까?

분류에서Dev

루프에서 여러 (병렬) 비동기 함수 호출의 누적 결과를 반환하려면 어떻게해야합니까?

분류에서Dev

하나의 표현식에서 결과를 생성하고 반환하려면 어떻게해야합니까?

분류에서Dev

cypher에서 연결된 노드 목록과 문자열의 위치를 어떻게 반환합니까?

분류에서Dev

함수에서 이전에 정의 된 useRef 변수를 반환하려면 어떻게해야합니까?

분류에서Dev

_.chain에서 Lodash groupBy의 결과를 어떻게 변환합니까?

분류에서Dev

함수에서 WeightedChoice를 어떻게 반환합니까?

분류에서Dev

이 함수의 결과를 DIV 요소에 어떻게 표시합니까?

분류에서Dev

.then은 어떻게 호출 함수의 결과를 약속에 전달합니까?

분류에서Dev

.Net Core의 비동기 서버 소켓-결과를 어떻게 반환합니까?

분류에서Dev

함수와 같은 절차 적 매크로에서 유형의 인스턴스를 계산하고 반환하려면 어떻게해야합니까?

분류에서Dev

ES 2017에서 비동기 함수의 반환 값을 어떻게 연결합니까?

분류에서Dev

Mongodb에서 결과의 일부로 반환되는 arrayList를 어떻게 반복 할 수 있습니까?

분류에서Dev

두 개의 다른 MATCH 절의 결과를 결합하고 결합 된 결과를 반환하려면 어떻게해야합니까?

분류에서Dev

Cocoa 앱의 NSArray Controller에서 반환 된 결과 수를 어떻게 얻을 수 있습니까?

분류에서Dev

Bash의 산술 확장에서 8 진수를 어떻게 반환합니까?

분류에서Dev

for 루프에서 어떻게 적절하게 나눕니 까? 결과의 크기를 어떻게 제어합니까?

분류에서Dev

파일 찾기 함수 (Node.js)에서 결과를 어떻게 반환합니까?

분류에서Dev

보기를 취하고 SwiftUI에서 사용자 정의 결과를 반환하는 함수를 어떻게 만들 수 있습니까?

분류에서Dev

switchMap 값과 함께 combineLatest 결과를 어떻게 반환합니까?

분류에서Dev

함수의 결과를 변수에 어떻게 저장할 수 있습니까?

분류에서Dev

MySQL에서 집계 함수의 결과를 어떻게 자체 조인합니까?

Related 관련 기사

  1. 1

    Android에서 함수의 결과를 어떻게 반환 할 수 있습니까?

  2. 2

    함수에서 fs.lstat 메서드의 결과를 어떻게 반환 할 수 있습니까?

  3. 3

    노드의 함수에서 데이터를 어떻게 반환합니까?

  4. 4

    Flutter에서 String 함수의 결과를 어떻게 인쇄합니까?

  5. 5

    함수의 인수 수를 어떻게 반환합니까?

  6. 6

    C에서 gettimeofday ()의 반환 값과 일치하는 psql (Postgres) 함수를 어떻게 작성합니까?

  7. 7

    SPServices CAMLQuery는 조회 열의 값과 함께 ows ID를 반환합니다. 결과에서 ID를 제거하려면 어떻게해야합니까?

  8. 8

    스레드에서 실행 된 내 메서드의 결과를 어떻게 반환합니까?

  9. 9

    루프에서 여러 (병렬) 비동기 함수 호출의 누적 결과를 반환하려면 어떻게해야합니까?

  10. 10

    하나의 표현식에서 결과를 생성하고 반환하려면 어떻게해야합니까?

  11. 11

    cypher에서 연결된 노드 목록과 문자열의 위치를 어떻게 반환합니까?

  12. 12

    함수에서 이전에 정의 된 useRef 변수를 반환하려면 어떻게해야합니까?

  13. 13

    _.chain에서 Lodash groupBy의 결과를 어떻게 변환합니까?

  14. 14

    함수에서 WeightedChoice를 어떻게 반환합니까?

  15. 15

    이 함수의 결과를 DIV 요소에 어떻게 표시합니까?

  16. 16

    .then은 어떻게 호출 함수의 결과를 약속에 전달합니까?

  17. 17

    .Net Core의 비동기 서버 소켓-결과를 어떻게 반환합니까?

  18. 18

    함수와 같은 절차 적 매크로에서 유형의 인스턴스를 계산하고 반환하려면 어떻게해야합니까?

  19. 19

    ES 2017에서 비동기 함수의 반환 값을 어떻게 연결합니까?

  20. 20

    Mongodb에서 결과의 일부로 반환되는 arrayList를 어떻게 반복 할 수 있습니까?

  21. 21

    두 개의 다른 MATCH 절의 결과를 결합하고 결합 된 결과를 반환하려면 어떻게해야합니까?

  22. 22

    Cocoa 앱의 NSArray Controller에서 반환 된 결과 수를 어떻게 얻을 수 있습니까?

  23. 23

    Bash의 산술 확장에서 8 진수를 어떻게 반환합니까?

  24. 24

    for 루프에서 어떻게 적절하게 나눕니 까? 결과의 크기를 어떻게 제어합니까?

  25. 25

    파일 찾기 함수 (Node.js)에서 결과를 어떻게 반환합니까?

  26. 26

    보기를 취하고 SwiftUI에서 사용자 정의 결과를 반환하는 함수를 어떻게 만들 수 있습니까?

  27. 27

    switchMap 값과 함께 combineLatest 결과를 어떻게 반환합니까?

  28. 28

    함수의 결과를 변수에 어떻게 저장할 수 있습니까?

  29. 29

    MySQL에서 집계 함수의 결과를 어떻게 자체 조인합니까?

뜨겁다태그

보관