PostgreSql : 함수는 레코드를 반환합니다. filed 중 하나는 int 또는 bool 일 수 있습니다.

ZedZip

레코드 집합을 반환하는 함수를 만들 수 있지만 조건에 따라 필드 중 하나가 int 또는 bool이 될 수 있습니까?

이 같은:

if cond then
   return query select x,y, int
else
  return query select x,y, bool
end if;

SQL Server sqlvariant 유형의 동작을 시뮬레이션하려고합니다.

클로도 알도 네토

레코드는 모든 유형의 열을 포함 할 수 있습니다. 따라서 ( setof) 레코드 를 반환하는 함수를 선언하면 무엇이든 반환 할 수 있습니다.

create or replace function f(_param int)
returns setof record as $$
begin
    if _param = 1 then
        return query select 1, true;
    else
        return query select 1, 'text';
    end if;
end;
$$ language plpgsql;

문제는 각 용도에서 반환 된 열의 유형을 선언해야한다는 것입니다.

select * 
from f(1) s (a int, b boolean);
 a | b 
---+---
 1 | t

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PostgreSQL 함수는 모든 레코드를 반환합니다.

분류에서Dev

PostgreSQL 위치 함수는 모든 레코드를 반환합니다.

분류에서Dev

Postgresql 함수는 정수 또는 null을 반환합니다.

분류에서Dev

단일 레코드를 반환하는 단일 쿼리에서 2 개의 다른 쿼리 (단일 레코드 반환)를 병합 할 수 있습니까?

분류에서Dev

현재 레코드로 일련의 작업을 수행 한 다음 결과를 반환하는 PostgreSQL 함수

분류에서Dev

Coffeescript는 함수의 여러 반환 값 중 일부를 무시합니다.

분류에서Dev

Java의 단일 메소드가 float 또는 Integer 중 하나를 반환 할 수 있습니까?

분류에서Dev

파일 또는 어셈블리 'WebGrease'또는 해당 종속성 중 하나를로드 할 수 없습니다.

분류에서Dev

SQL AVG () 함수는 다중 열일 때 INT를 리턴합니다.

분류에서Dev

어떻게 int를 C ++ 또는 더 나은 문자열로 바꿀 수 있습니다 .. 어떻게 그것을 변환하는 함수를 만드나요?

분류에서Dev

파일 이름을 나타내는 문자열을 인수로 취하는 함수입니다. 함수는 txt 파일의 문자 수를 반환합니다.

분류에서Dev

Future <bool> 함수는 null 값을 반환합니다.

분류에서Dev

DataTable 검색 필터가 항상 "일치하는 레코드를 찾을 수 없음"을 반환합니다.

분류에서Dev

php bool 함수는 bool 대신 문자열을 반환합니다.

분류에서Dev

파일, 어셈블리 또는 종속성 중 하나를로드 할 수 없습니다.

분류에서Dev

CROSS APPLY to namespace, 하위 노드는 중복 레코드를 반환합니다.

분류에서Dev

정수의 arrayList (그중 하나만)를 반환하는 Java의 재귀 메서드로, 합계가 숫자 또는없는 경우 null입니다.

분류에서Dev

내 PHP는 postgresql 또는 sql 함수를 해석하지 않습니다.

분류에서Dev

함수는 PHP에서 다른 함수를 반환합니다.

분류에서Dev

Postgresql 함수는 여러 행을 반환합니다.

분류에서Dev

이 두 함수 중 하나에서 일반 함수를 만드는 방법이 있습니까? (일반 배열에서 문자열로)

분류에서Dev

레일은 중복이있는 레코드를 선택합니다.

분류에서Dev

레코드를 삽입하는 PostgreSQL 함수가 의도 한대로 작동하지 않습니다.

분류에서Dev

MYSQL 쿼리-변수 목록과 일치하는 여러 레코드를 찾고 각 레코드에 대한 최대 날짜를 반환합니다.

분류에서Dev

SVG USE를 나중에 수정할 수있게 만드는 방법이 있습니까 (또는 다른 기술)?

분류에서Dev

일치하는 레코드와 일치하지 않는 레코드를 모두 포함하는 mysql 결과 집합을 어떻게 얻을 수 있습니까?

분류에서Dev

중첩 된 forEach 및 for 루프가있는 함수는 false를 반환하지 않습니다.

분류에서Dev

SQL Server 사용자 지정 CLR이 "파일, 어셈블리 또는 해당 종속성 중 하나를로드 할 수 없습니다. 지정된 파일을 찾을 수 없습니다."오류와 함께 실패합니다.

분류에서Dev

파일 또는 디렉터리를 만들 수 없습니다. nullpointerexception을 반환합니다.

Related 관련 기사

  1. 1

    PostgreSQL 함수는 모든 레코드를 반환합니다.

  2. 2

    PostgreSQL 위치 함수는 모든 레코드를 반환합니다.

  3. 3

    Postgresql 함수는 정수 또는 null을 반환합니다.

  4. 4

    단일 레코드를 반환하는 단일 쿼리에서 2 개의 다른 쿼리 (단일 레코드 반환)를 병합 할 수 있습니까?

  5. 5

    현재 레코드로 일련의 작업을 수행 한 다음 결과를 반환하는 PostgreSQL 함수

  6. 6

    Coffeescript는 함수의 여러 반환 값 중 일부를 무시합니다.

  7. 7

    Java의 단일 메소드가 float 또는 Integer 중 하나를 반환 할 수 있습니까?

  8. 8

    파일 또는 어셈블리 'WebGrease'또는 해당 종속성 중 하나를로드 할 수 없습니다.

  9. 9

    SQL AVG () 함수는 다중 열일 때 INT를 리턴합니다.

  10. 10

    어떻게 int를 C ++ 또는 더 나은 문자열로 바꿀 수 있습니다 .. 어떻게 그것을 변환하는 함수를 만드나요?

  11. 11

    파일 이름을 나타내는 문자열을 인수로 취하는 함수입니다. 함수는 txt 파일의 문자 수를 반환합니다.

  12. 12

    Future <bool> 함수는 null 값을 반환합니다.

  13. 13

    DataTable 검색 필터가 항상 "일치하는 레코드를 찾을 수 없음"을 반환합니다.

  14. 14

    php bool 함수는 bool 대신 문자열을 반환합니다.

  15. 15

    파일, 어셈블리 또는 종속성 중 하나를로드 할 수 없습니다.

  16. 16

    CROSS APPLY to namespace, 하위 노드는 중복 레코드를 반환합니다.

  17. 17

    정수의 arrayList (그중 하나만)를 반환하는 Java의 재귀 메서드로, 합계가 숫자 또는없는 경우 null입니다.

  18. 18

    내 PHP는 postgresql 또는 sql 함수를 해석하지 않습니다.

  19. 19

    함수는 PHP에서 다른 함수를 반환합니다.

  20. 20

    Postgresql 함수는 여러 행을 반환합니다.

  21. 21

    이 두 함수 중 하나에서 일반 함수를 만드는 방법이 있습니까? (일반 배열에서 문자열로)

  22. 22

    레일은 중복이있는 레코드를 선택합니다.

  23. 23

    레코드를 삽입하는 PostgreSQL 함수가 의도 한대로 작동하지 않습니다.

  24. 24

    MYSQL 쿼리-변수 목록과 일치하는 여러 레코드를 찾고 각 레코드에 대한 최대 날짜를 반환합니다.

  25. 25

    SVG USE를 나중에 수정할 수있게 만드는 방법이 있습니까 (또는 다른 기술)?

  26. 26

    일치하는 레코드와 일치하지 않는 레코드를 모두 포함하는 mysql 결과 집합을 어떻게 얻을 수 있습니까?

  27. 27

    중첩 된 forEach 및 for 루프가있는 함수는 false를 반환하지 않습니다.

  28. 28

    SQL Server 사용자 지정 CLR이 "파일, 어셈블리 또는 해당 종속성 중 하나를로드 할 수 없습니다. 지정된 파일을 찾을 수 없습니다."오류와 함께 실패합니다.

  29. 29

    파일 또는 디렉터리를 만들 수 없습니다. nullpointerexception을 반환합니다.

뜨겁다태그

보관