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 을 받을 수
있는 다른 방법은 없을까요?
|