Dear all, I solved it using ISNULL function. sqlstr := 'insert into test(c1, c2) values ('||ISNULL(rec.c1,'NULL')||',' > ||'\''||rec.c2||'\')'; Thanks kumar ----- Original Message ----- From: "Kumar" <[EMAIL PROTECTED]> To: "Tomasz Myrta" <[EMAIL PROTECTED]> Cc: "psql" <[EMAIL PROTECTED]> Sent: Friday, February 13, 2004 10:23 AM Subject: Re: [SQL] How to avoid nulls while writing string for dynamic query
> I am having problem there. see what happens > > sqlstr := 'insert into test(c1, c2) values ('||COALESCE(rec.c1,'NULL')||',' > ||'\''||rec.c2||'\')'; > > WARNING: Error occurred while executing PL/pgSQL function test_fn > WARNING: line 8 at assignment > ERROR: pg_atoi: error in "NULL": can't parse "NULL" > > Dont forgot that c1 is int. > > when i have like this > sqlstr := 'insert into test(c1, c2) values ('||COALESCE(rec.c1,NULL)||',' > ||'\''||rec.c2||'\')'; > > NOTICE: <NULL> > WARNING: Error occurred while executing PL/pgSQL function test_fn > WARNING: line 11 at execute statement > ERROR: cannot EXECUTE NULL query > > That is the problem i am facing. Please shed some light. > > Thanks > Kumar > > ----- Original Message ----- > From: "Tomasz Myrta" <[EMAIL PROTECTED]> > To: "Kumar" <[EMAIL PROTECTED]> > Cc: "psql" <[EMAIL PROTECTED]> > Sent: Thursday, February 12, 2004 6:13 PM > Subject: Re: [SQL] How to avoid nulls while writing string for dynamic query > > > > Dnia 2004-02-12 13:31, Użytkownik Kumar napisał: > > > The error is because of no value for column c1. If the column c1 is a > > > string I might have replace it with empty string. I don't want to > > > substitute with '0' which could work. > > > > > > sqlstr := 'insert into test(c1, c2) values (' ||ISNULL(rec.c1,'0')||',' > > > > > > ||'\''||rec.c2||'\')'; > > > > Substitute it with NULL value: > > sqlstr := 'insert into test(c1, c2) values(' || coalesce(rec.c1,'NULL') > > ||... > > > > Regards, > > Tomasz Myrta > > > ---------------------------(end of broadcast)--------------------------- > TIP 7: don't forget to increase your free space map settings ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])