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 6225 게시물 읽기
No. 6225
프로시져 실행하기
작성자
해워리
작성일
2005-07-22 17:08
조회수
3,479

아래와 같은 프로시져를 생성했습니다.

CREATE or REPLACE FUNCTION public.login(varchar(50),varchar(14))
RETURNS pg_catalog.int2 AS
$BODY$
BEGIN

Select mem_num,mem_name From member Where mem_email = $1 and mem_pass = $2;

return 0;

END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

그리고

select login('23234dd','7333dddd');

이렇게 실행을 하니

아래와 같은 에러가 납니다.

SQL Error: ERROR: SELECT query has no destination for result data
HINT: If you want to discard the results, use PERFORM instead.
CONTEXT: PL/pgSQL function "login" line 6 at SQL statement--0 Records Returned

제가 보기에는 아무 이상이 없는것 같은데..

알려주세요 무엇이 문제인가요?

이 글에 대한 댓글이 총 1건 있습니다.

에러 메시지 그대로 셀렉트 된 값이 들어갈 곳이 없다는 것이죠

 

Select mem_num,mem_name From member Where mem_email = $1 and mem_pass = $2;

 

Select mem_num,mem_name INTO n_mem, t_mem From member Where mem_email = $1 and mem_pass = $2;

이런식으로 한번 변경해 보세요.

참 n_mem이랑 t_mem은 제가 임의로 그냥 써본거니까 경우에 맞게 고쳐주시고 함수 선언시 미리미리 DECLARE 해두시기 바랍니다.

 

새로운 DB이용시엔 미리 메뉴얼을 읽어보셨으면 합니다...

메뉴얼에 분명 plpgsql에 대해 참조할만한 부분이 자세히 수록되어 있습니다.

김영호(icepage)님이 2005-07-22 19:42에 작성한 댓글입니다.
이 댓글은 2005-07-22 19:42에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
6228동적인 배열 사용..존재하는지 궁금합니다. [1]
초보ds
2005-07-23
2280
6227쿼리를 못찾겠습니다.. [2]
초보
2005-07-22
2114
6226배열변수 사용시 에러 [1]
초보ds
2005-07-22
2130
6225프로시져 실행하기 [1]
해워리
2005-07-22
3479
6224view 생성시 컬럼에 sum()이 들어가면.. 성능적으로 어떤가요? [1]
박기원
2005-07-22
2105
6223백업 및 vaccumdb실행 시 에러... [8]
진서민
2005-07-20
3371
6221pgAdmin III 1.2.1 에서 GUI도구로 테이블 생성시...약간의 문제점이 있어.. [5]
이현순
2005-07-18
6771
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다