From: | William Garrison <postgres(at)mobydisk(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Passing arrays to stored procedures |
Date: | 2007-04-21 00:38:23 |
Message-ID: | 46295CFF.3010900@mobydisk.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tom Lane wrote:
> William Garrison <postgres(at)mobydisk(dot)com> writes:
>> I'm using npgsql and C#, and I've realized it doesn't support passing
>> arrays. Barring things like updating npgsql, what form of hackiness
>> would work best here?
>
>> The customerIDs are GUIDs represented as 16-byte arrays. I can pass
>> them as encoded strings separated by commas or some such silliness. But
>> I don't see a nice clean split() function that returns me an array. :-(
>
> Do you need one? Can't you just pass the array as one parameter?
> The text form of an array is like
> {value,value,value}
> which shouldn't be that hard to deal with if you can generate the text
> form of the individual bytea values.
>
> regards, tom lane
>
That doesn't work. If I pass a string, then it is a string.
CREATE OR REPLACE FUNCTION CalculateTotals(
customerList character varying,
.
.
.
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
From | Date | Subject | |
---|---|---|---|
Next Message | Jorge Godoy | 2007-04-21 00:46:08 | Re: Passing arrays to stored procedures |
Previous Message | Tom Lane | 2007-04-21 00:21:09 | Re: Passing arrays to stored procedures |