Thread: a couple of newbie question

a couple of newbie question

From
Matthew Denny
Date:
I know this question is probably fairly elementary, but I could not
find the answer in the docs or mailing list archives.  How does one handle
NULL values in the embedded SQL interface?  For example, if I have a
statement:

exec sql insert into test_table values(:foo, :x, :y)

and foo represents a CHAR attribute (represented by a string in C) that I
want to set to NULL, how do I go about doing this?  Similarly, how do
I tell that a value put into a variable by a fetch call is NULL or
not?  

On a different note, is there any list of error codes for the actual
postgreSQL errors, or is the only thing a user can get back is the
text message in sqlca.sqlerrm.sqlerrmc (e.g. no associated error #)?

Any help would be greatly appreciated.

thanks,
Matt


Re: [NOVICE] a couple of newbie question

From
"D. Duccini"
Date:
You insert it by NOT inserting it.

insert into test_table (col_x, col_y) values (:x, :y);

you basically omit any column you do not want to insert values for

-duck

On Sun, 16 Apr 2000, Matthew Denny wrote:

> 
> I know this question is probably fairly elementary, but I could not
> find the answer in the docs or mailing list archives.  How does one handle
> NULL values in the embedded SQL interface?  For example, if I have a
> statement:
> 
> exec sql insert into test_table values(:foo, :x, :y)
> 
> and foo represents a CHAR attribute (represented by a string in C) that I
> want to set to NULL, how do I go about doing this?  Similarly, how do
> I tell that a value put into a variable by a fetch call is NULL or
> not?  
> 
> On a different note, is there any list of error codes for the actual
> postgreSQL errors, or is the only thing a user can get back is the
> text message in sqlca.sqlerrm.sqlerrmc (e.g. no associated error #)?
> 
> Any help would be greatly appreciated.
> 
> thanks,
> Matt
> 


-----------------------------------------------------------------------------
david@backpack.com            BackPack Software, Inc.        www.backpack.com
+1 651.645.7550 voice       "Life is an Adventure.    
+1 651.645.9798 fax            Don't forget your BackPack!"   
-----------------------------------------------------------------------------



Re: a couple of newbie question

From
Ivo Simicevic
Date:
On Sun, Apr 16, 2000 at 11:57:38AM -0700, Matthew Denny wrote:
> 
> I know this question is probably fairly elementary, but I could not
> find the answer in the docs or mailing list archives.  How does one handle
> NULL values in the embedded SQL interface?  For example, if I have a
> statement:
> 
> exec sql insert into test_table values(:foo, :x, :y)
> 
> and foo represents a CHAR attribute (represented by a string in C) that I
> want to set to NULL, how do I go about doing this?  

There are two ways :
 exec sql insert into test_table values (NULL,:x,:y)    or more properly

define indicator variable in DECLARE section and use it to insert null value
e.g.
 EXEC SQL BEGIN DECLARE SECTION; char foo[10]; int x; int y; int indicator; EXEC SQL END DECLARE SECTION;
..... indicator=-1; EXEC SQL INSERT INTO test_table VALUES (:foo:indicator,:x,:y);


> Similarly, how do
> I tell that a value put into a variable by a fetch call is NULL or
> not?  
> 
 You can do it the same way:
 EXEC SQL SELECT foo,x,y          INTO :foo:indicator,:x,:y          ......
 and then check for indicator value.


GL

Ivo.