Search Postgresql Archives

multi recordset and data type check was: Re: PL/pgSQL stored procedure returning multiple result sets (SELECTs)?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> CREATE PROCEDURE list_user_accounts(IN user_id INT)
>> 
>> 	BEGIN
>> 
>> 	-- Return first result set (single row)
>> 	SELECT * FROM users WHERE id = user_id;
>> 
>> 	-- Return second result set (zero or more rows)
>> 	SELECT * FROM accounts WHERE account_holder = user_id;
>> 
>> 	END;
> 
> I'd say returning multiple recordset is useful to save connections
> and transferred data.
> You can't get the same with a left join (users fields will be
> repeated over and over) and you can't get the same with 2 separated
> statements since they will need 2 connections.
> 
> But from the client side, suppose it PHP... if the first
> statement return no record and the second one return 3 records, how
> can I know?

Well, (in MySQL at least) in that case you're still going to get a
result set, it's just going to be an empty one (result with no rows).

So, no matter how many rows the SELECT statements resolve to, you're
always going to get two result sets :)


Vladimir
-- 
Vladimir Dzhuvinov * www.valan.net * PGP key ID AC9A5C6C

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux