Hi,

Vincent van Leeuwen wrote, On 2/19/2003 10:08 PM:
On 2003-02-18 20:02:29 +0100, Peter Eisentraut wrote:
Christopher Kings-Lynne writes:

> REPLACE INTO anyone? ;)

The upcoming SQL 200x standard includes a MERGE command that appears to
fulfill that purpose.

MySQL features a poor-mans aproach to this problem, their REPLACE command:

http://www.mysql.com/doc/en/REPLACE.html
REPLACE works exactly like INSERT, except that if an old record in the table
has the same value as a new record on a UNIQUE index or PRIMARY KEY, the old
record is deleted before the new record is inserted.

I'd love to see this kind of functionality in PG, I've got a database that
caches data which only gets conditional INSERT/UPDATEs, so that would save a
lot of wasted SQL commands.
I think this replace function is stupid in mysql. It deletes the the row, and what if that row is linked into another table? You loose your connection, relation.
However you can easy write a procedure which can make a real replace, cause it checks if same data (by keys) is in the table then makes an update, if not, do an insert.

You can do everything, not like in mysql, just write it as you like.

C.


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to