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 7378 게시물 읽기
No. 7378
프로시져에서 입력 받은 인자로 in 검색하기
작성자
Joo(wwol95)
작성일
2008-03-18 15:00
조회수
6,022


아래 부분에서 입력 받은 depart_code character varying를 in검색으로 주고 싶은데요

 이걸 어떻게 해야 하는지 문자열을 만들어서 넘기니('2002', '2001')  아마도   이것으로 ( ''2002', '2001'') 인식하는것 같습니다.

 어떻게 할 수 있는 방법이 없을까요?


  and b.dc_code in ($3)



CREATE OR REPLACE FUNCTION rit_work.usp_s_work_result_day_by_depart(start_day character varying, end_day character varying, depart_code character varying)
  where a.wus_day between $1 and $2
  and b.dc_code in ($3)
  order by a.wus_day, b.user_name asc

  RETURNS SETOF record AS

$BODY$

   .... 생략

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

제 경우에는 그 문제를 
동적 쿼리로 만들어버렸습니다. 

plpgsql 에서
매개변수로 받은 인자를 바탕으로 하는 쿼리문자열을 만들고 그것을 execute 명령으로 실행하는 방법을 택했습니다.

이 방법 말고 더 좋은 방법을 혹 알고 계시는 분이 있으시면 제게도 알려주세요.

김상기(ioseph)님이 2008-03-19 21:02에 작성한 댓글입니다.

그냥 string_to_array 쓰면 되지 않을까요?


and b.dc_code  = any (string_to_array($3, ',');


이런식으로요


인자 하나 더 받아서.. (seprate text);


and b.dc_code = any (string_to_array($3, $4);

이런식이던지..


tyro님이 2008-03-20 21:42에 작성한 댓글입니다. Edit

아.. 위에 댓글 ..뒤에 괄호가 하나 빠졌다는....


비번 몰라 수정 불가..^^;

tyro님이 2008-03-20 21:44에 작성한 댓글입니다. Edit

any 쓰면 되겠군요. 멋진 생각입니다.

김상기(ioseph)님이 2008-03-21 13:32에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7382스트링 배열을 저장할 때.. [1]
이리
2008-03-23
6587
7381union 사용시 table명 출력 [2]
초짜군
2008-03-20
6161
7379인코딩 및 트리거 질문입니다. [1]
김대헌
2008-03-18
6163
7378프로시져에서 입력 받은 인자로 in 검색하기 [4]
Joo
2008-03-18
6022
7375프로시져에서 사용되는 변수인데 에러가 납니다. [2]
Joo
2008-03-17
6135
7374char 형 datetime형으로 변환하기 [2]
Joo
2008-03-14
6545
7373int2vector 변환 [1]
박상철
2008-03-13
5859
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다