Обсуждение: Indicators

Поиск
Список
Период
Сортировка

Indicators

От
Atif Jung
Дата:
Am I correct in understanding that when doing a select on a table I cannot retrieve a NULL value from the database directly into the variable I'm selecting into, but I must use an indicator. So for example
 
EXEC SQL SELECT b INTO :val FROM test1;
 
will fail if b is NULL, so I must use
 
EXEC SQL SELECT b INTO :val :val_ind FROM test1;
 
and then check the value of val_ind. If 0 then val is not NULL is -ve then it is NULL?
 
Thanks

Atif

Re: Indicators

От
Jasen Betts
Дата:
On 2010-04-27, Atif Jung <atifjung@gmail.com> wrote:
> --0016e6d58ae54607be048535e007
> Content-Type: text/plain; charset=ISO-8859-1
>
> Am I correct in understanding that when doing a select on a table I cannot
> retrieve a NULL value from the database directly into the variable I'm
> selecting into, but I must use an indicator. So for example
>
> EXEC SQL SELECT b INTO :val FROM test1;
>
> will fail if b is NULL, so I must use
>
> EXEC SQL SELECT b INTO :val :val_ind FROM test1;
>
> and then check the value of val_ind. If 0 then val is not NULL is -ve then
> it is NULL?
>
> Thanks
>
> Atif

what language is that?

Re: Indicators

От
Atif Jung
Дата:
Unfortunately Perl is not an option. So given:
 
EXEC SQL SELECT b INTO :val :val_ind FROM test1;
 
If I where to reference :val immediately after and if b was NULL what would :val contain, assuming that b is an integer, for example, and that val was not initialised to anything when declared?
 

Atif



On 27 April 2010 12:52, Francisco Leovey <fleovey@yahoo.com> wrote:
Yes if done from C - use Perl instead, much better

--- On Tue, 4/27/10, Atif Jung <atifjung@gmail.com> wrote:

From: Atif Jung <atifjung@gmail.com>
Subject: [NOVICE] Indicators
To: pgsql-novice@postgresql.org
Date: Tuesday, April 27, 2010, 8:05 AM


Am I correct in understanding that when doing a select on a table I cannot retrieve a NULL value from the database directly into the variable I'm selecting into, but I must use an indicator. So for example
 
EXEC SQL SELECT b INTO :val FROM test1;
 
will fail if b is NULL, so I must use
 
EXEC SQL SELECT b INTO :val :val_ind FROM test1;
 
and then check the value of val_ind. If 0 then val is not NULL is -ve then it is NULL?
 
Thanks

Atif