database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 2771 게시물 읽기
No. 2771
Re: [급합니담..ㅠ.ㅠ] plpgsql에서염..
작성자
김일형
작성일
2001-05-20 15:21
조회수
2,828

안녕하세요, 김일형입니다.

 

저의 짧은 지식으로는 님께서 올리신 코드를 잘 이해하지 못하겠습니다. trigger같기도 하고 function 같기도 하고...

 

일단 님의 의도에 따라 님의 코드를 바꾼다면 아래와 같아 질 수 있을것입니다.

 

DROP FUNCTION ex_func(INT4);

CREATE FUNCTION ex_func(INT4) RETURNS ex AS '

DECLARE

number ALIAS FOR $1;

user_rec ex%ROWTYPE;

BEGIN

SELECT into user_rec * FROM ex WHERE num = number;

RETURN user_rec ;

 

END;

' LANGUAGE 'plpgsql';

 

여기서 반환값 ex는 님께서 말씀하신 구조의 table입니다.

 

그런데 불행히도 위의 예를 실행해 보면 원하는 값이 안나옵니다.

 

제가 처음에 PL/pgSQL 메뉴얼을 번역을 하면서 원했던 것이 바로 복잡한 요구를 처리후 하나의 레코드를 반환하는 것 이었습니다.

 

그런데, 재미있게도 어디에도 그런예가 없었습니다.

 

그래서 여기 저기 알아봤는데, 함수는 레코드 하나 전체를 밖으로 빼낼 수 없다였습니다.

이 함수에서 저 함수로 매개변수로 또는 반환값으로 하나의 레코드를 넘기거나 받을 수 있는데 반해 최종적으로 최초 퀴리 밖으로는 값을 얻어낼 수 없었습니다. (메뉴얼에도 그렇게....)

 

이것이 저의 지금까지 알아낸 것이구요. 좀더 자세한 것은 제가 올린 PL/pgSQL메류얼 번역 에서 오라클의 PL/SQL을 PL/pgSQL로 전환이라는 부분을 보시면 당시 이런 비슷한 상황에서 자신은어떻게 처리했다... 라는 것을 찾아보실 수 있을것입니다.

 

죄송합니다. 제 짧은 실력으로는 여기가 한계이군요...

 

김일형.

 

>>허잡..ㅠ.ㅠ 님께서 쓰시길<<

 

:: ex라는 테이블에 num, id, passwd라는 필드들이 있습니다.

::

:: 보통 function을 선언하고 정의할때 리턴되는 타입은 INT4, VARCHAR 등과

::

:: 같이 일반적으로 posgres에서 정해진 데이터타입 입니다. 제가 알고

::

:: 싶은 것은 위와 같은 테이블에서 num, id, passwd 모두를 리턴값으로

::

:: 받고 싶습니다.

::

:: CREATE FUNCTION ex(INT4) RETURNS OPAQUE AS '

:: BEGIN

:: SELECT num, id, passwd FROM ex WHERE num = $1;

:: RETURN NEW;

:: END;

:: ' LANGUAGE 'plpgsql';

::

:: 지금 제가 생각하기에는 이런 소스가 나오겠죠.. 근데..

::

:: 이렇게 사용하는 것이 과연 옳은 것인지.. 그리고 틀리다면

::

:: 어떻게 해야 제가 바라는 결론을 얻을 수 있는지여?

::

[Top]
No.
제목
작성자
작성일
조회
2776거대한 디비를 구축하려고 할때...
어떤생각
2001-05-22
2520
2779┕>Re: 거대한 디비를 구축하려고 할때...
이태웅
2001-05-22 09:35:12
2908
2773게시판 화면이..
이태웅
2001-05-21
2513
2774┕>Re: 게시판 화면이..
정재익
2001-05-21 18:43:35
2498
2770varchar type... 사용법 좀 갈켜 줘요.... 재가 잘못 알고 있는건가요???
김종진
2001-05-20
2481
2772┕>Re: varchar type... 사용법 좀 갈켜 줘요.... 재가 잘못 알고 있는건가요???
정재익
2001-05-20 20:10:30
2641
2769[급합니담..ㅠ.ㅠ] plpgsql에서염..
허잡..ㅠ.ㅠ
2001-05-20
2449
2771┕>Re: [급합니담..ㅠ.ㅠ] plpgsql에서염..
김일형
2001-05-20 15:21:18
2828
2764Postgrsql ODBC Driver를 어디에서 구할 수 있을까요?
2001-05-18
2423
2766┕>Re: Postgrsql ODBC Driver를 어디에서 구할 수 있을까요?
정재익
2001-05-18 23:43:21
2650
2767 ┕>Re: Re: Postgrsql ODBC Driver를 어디에서 구할 수 있을까요?
이태웅
2001-05-19 09:43:21
2520
2763apache+php+pgsql+mysql+gd 설치시 에러에 대하여..(급함)
초보자
2001-05-18
2729
2768┕>Re: apache+php+pgsql+mysql+gd 설치시 에러에 대하여..(급함)
정재익
2001-05-19 21:07:27
2868
2761궁금한게 있는데요.
이태웅
2001-05-18
2568
2765┕>Re: 궁금한게 있는데요.
정재익
2001-05-18 23:32:56
2675
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다