Re: Passing arrays to stored procedures
От | William Garrison |
---|---|
Тема | Re: Passing arrays to stored procedures |
Дата | |
Msg-id | 4629A33C.9000904@mobydisk.com обсуждение исходный текст |
Ответ на | Re: Passing arrays to stored procedures (Jorge Godoy <jgodoy@gmail.com>) |
Список | pgsql-general |
Yeah, I meant bytea[]. It still doesn't work. Same error: ERROR: cannot cast type character varying to bytea[] Not that this is not the same as doing select '{1, 2, 3}'::int[]. This is the equivalent of doing SELECT ('{10000, 10000, 10000, 10000}'::varchar(255))::int[]; I can't pass in a string then cast it to something other than a string. You have made me realize though, that what you are suggesting might work if I call this as an ad-hoc SELECT statement instead of calling the stored procedure directly. Less efficient, but then I should be able to do what you suggest. I'll have to try that. Or maybe that is what you meant all along. Jorge Godoy wrote: > William Garrison <postgres@mobydisk.com> writes: > >> WHERE customerid = ANY($1); >> Results in the error: >> ERROR: op ANY/ALL (array) requires array on right side >> >> I tried casting the character string to an array afterward: >> >> WHERE customerid = ANY($1::bytea); >> which results in: >> ERROR: cannot cast type character varying to bytea > > You meant array or bytea? > > > neo=# select '{1, 2, 3}'::int[]; > int4 > --------- > {1,2,3} > (1 record) > > neo=# > >
В списке pgsql-general по дате отправления: