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 6545 게시물 읽기
No. 6545
특정 배열타입에 대하여 그 배열의 요소의 타입을 알 수 없을까요?
작성자
tyro
작성일
2006-02-20 02:16
조회수
2,147

plpgsql 에서

어떤 배열이 있다고 할때,

그 배열의 요소의 타입을 알 수 가 있을까요?

 

이럴테면 '{1,2,3}'::int[] 라면 1,2,3 각각은 모두 int 타입일테고

'{1,2,3}'::text[] 라면 text 등등이 되겠죠..

이것을 알아낼 수 있는 방법이 없을까요?

 

anyarray 를 입력받아 그 배열을 row (table) 를 리턴하는 함수를 만들다..

배열요소의 타입을 모르니깐 anyarray 로 입력받을 경우 잘 안 되더라고요..

anyarray 가 하나의 타입으로만 받을 경우에는 잘 되지만....

'select xx' || arr[i] || '%TYPE .....' 형태로도 해봤는데 잘 안 되네요..

 

8.1 에서처럼 function 에서 IN, OUT 을 인자로 지정할 수 있다면 OUT 에 그냥 anyelement 를 해버리면 될것도 같은데...

아직 8.0 이라...

 

 

아니면... array 를 각 요소를 하나의 row 로 하는 table 을 받을 수 있는 다른 방법은 없을까요?

 

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

다이나믹 쿼리로 임시테이블을 맹거서(create temporary table 임시이름 as select ('{1,2,3}'::int[])[1]) 한다음에;; 테이블의 정보를 보는건 어떨까요 -.-;;

\d 임시이름 하면 내부에서 동작한는 쿼리 한두개를 해보면 타입을 알 수 있을것 같은데요..

너무 엄한 방법인가;; 더 좋은 방법이 있지 않겠습니까? ㅋ;

당장 생각나는건 이 방법이네요~

신기배(소타)님이 2006-02-20 15:02에 작성한 댓글입니다.

아!! temporary table... 그렇네요..

이걸 이용하면 될것도 같군요...

 

왜 이게 생각이 그렇게 안 났징....??

 

tyro님이 2006-02-21 02:18에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6548윈도에서 매일 한번씩 백업.. [1]
감사합니다
2006-02-21
2487
6547DB 복구 문제. ㅠㅠ [1]
권진호
2006-02-21
2514
6546[질문]로그파일을 한글로 보려면? [3]
황영철
2006-02-20
2435
6545특정 배열타입에 대하여 그 배열의 요소의 타입을 알 수 없을까요? [2]
tyro
2006-02-20
2147
6544윈도우에서 createuser에 관하여... [4]
linuver
2006-02-19
2676
6543psql 로 테이블 만드는것 좀 ^^;; [1]
박재범
2006-02-17
2361
6541특수문자(%,_) 검색은 어떻게 하나요? [1]
강석영
2006-02-16
2726
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.042초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다