On Wed, 27 Jan 2016 10:48:49 -0200, "hamacker sirhamac...@gmail.com [firebird-support]" <firebird-support@yahoogroups.com> wrote: > I would know whats methods is more effective, per exemple: > To know if itens exists or not, select: > select > case > when exists(select 1 from cv_itens where id_cv=51716) > then 'Y' > else 'N' > end as existe_itens > from rdb$database > > OR using block execute: > execute block > returns(exist varchar(1)) > as > begin > exist='N'; > if (exists(select 1 from cv_itens where id_cv=51716)) then exist='Y'; > suspend; > end > > I think that first method using rdb$database as source, checking > permissions and others things and second method is not and more powerfull > using psql. > > I would like to know what you guys think about.
I'd use select 1 from cv_itens where id_cv=51716 and check if you have a row or not. If it can produce multiple rows, then use select first 1 1 from cv_itens where id_cv=51716, or select 1 from cv_itens where id_cv=51716 rows 1. That is much simpler, and likely has less overhead. Mark