pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Shavonne Marietta Wijesinghe <shavonne.marietta@studioform.it>
To: pgsql-sql@postgresql.org
Subject: Re: Insert only if not found
Date: Fri, 6 Apr 2007 09:10:00 +0200
Message-ID: <001201c7781a$987bee10$1102a8c0@dream> (raw)
References: <005b01c7775d$c4fa4b70$1102a8c0@dream>
	<20070405085343.GF24814@a-kretschmer.de>
	<007601c77764$2b2a0ec0$1102a8c0@dream>
	<008801c77767$7109c130$1102a8c0@dream>
	<20070405100555.GG24814@a-kretschmer.de>

Yea i got it. I did the uppercase before i came to the select and it works 
well. *Fingers crossed*

Thanks for all the help.

Ohh and Happy Eater to everyone in the mailing list ^____^

Shavonne Wijesinghe



----- Original Message ----- 
From: "A. Kretschmer" <andreas.kretschmer@schollglas.com>
To: <pgsql-sql@postgresql.org>
Sent: Thursday, April 05, 2007 12:05 PM
Subject: Re: [SQL] Insert only if not found


> am  Thu, dem 05.04.2007, um 11:47:35 +0200 mailte Shavonne Marietta 
> Wijesinghe folgendes:
>> I think i spoke to soon. It works. But if i change a letter from capital 
>> to
>> simple it inserts my record 2 times. So i have 2 records for "Shavonne" 
>> and
>> "shavonne". So i thought i would do the select in uppercase.
>>
>> INSERT INTO MOD48_02 (ID, TE_INDI, TE_COGNOME, TE_NOME, TE_SESSO,
>> TE_ATTNASC, TE_LUONASC, TE_DTNASC, TE_PROVSTATO, TE_PROV, TE_PATERNITA,
>> TE_RICHIESTA, USERNAME, DATE_INSERTED, TIME_INSERTED) SELECT
>> '127001200745114035', '', 'chan', 'micia', 'F', '', '', '01/05/2006', '',
>> '', '', '', 'demo', '05/04/2007', '11.40.35' WHERE NOT EXISTS (SELECT
>> upper(TE_COGNOME), upper(TE_NOME), upper(TE_SESSO), TE_DTNASC FROM 
>> MOD48_02
>> WHERE TE_COGNOME='CHAN' AND TE_NOME='MICIA' AND TE_SESSO='F' AND
>> TE_DTNASC='01/05/2006');
>>
>>
>> but this doesn't work. I don't know why. If i try only the part
>
> You have an error ;-)
>
> Compare the strings in ther WHERE-clause. An example:
>
> test=# create table no_dupes (id int, name text);
> CREATE TABLE
> test=*# commit;
> COMMIT
> test=# insert into no_dupes select 1, 'Andreas' where not exists (select 
> id, lower(name) from no_dupes where id=1 and 
> lower(name)=lower('Andreas'));
> INSERT 0 1
> test=*# insert into no_dupes select 1, 'Andreas' where not exists (select 
> id, lower(name) from no_dupes where id=1 and 
> lower(name)=lower('Andreas'));
> INSERT 0 0
> test=*# select * from no_dupes ;
> id |  name
> ----+---------
>  1 | Andreas
> (1 row)
>
> test=*# insert into no_dupes select 1, 'Andreas' where not exists (select 
> id, name from no_dupes where id=1 and lower(name)=lower('Andreas'));
> INSERT 0 0
> test=*# select * from no_dupes ;
> id |  name
> ----+---------
>  1 | Andreas
> (1 row)
>
> test=*#
>
>
>
> Andreas
> -- 
> Andreas Kretschmer
> Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
> GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faq 




view thread (7+ messages)

Message-ID: <001201c7781a$987bee10$1102a8c0@dream>
Permalink:  ../001201c7781a$987bee10$1102a8c0@dream/
Also on:    postgresql.org/message-id/001201c7781a$987bee10$1102a8c0@dream

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: shavonne.marietta@studioform.it
  Subject: Re: Insert only if not found
  In-Reply-To: <001201c7781a$987bee10$1102a8c0@dream>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox