From: | Terry Lee Tucker <terry(at)esc1(dot)com> |
---|---|
To: | Michael Fuhr <mike(at)fuhr(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Question Regarding DELETE FROM ONLY |
Date: | 2006-05-29 14:20:04 |
Message-ID: | 200605291020.04290.terry@esc1.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Monday 29 May 2006 09:43 am, Michael Fuhr <mike(at)fuhr(dot)org> thus
communicated:
--> On Mon, May 29, 2006 at 08:40:43AM -0400, Terry Lee Tucker wrote:
--> > INSERT INTO ctable (code, name) VALUES ('code_one', 'Code One');
--> > rnd=# SELECT * FROM ptable;
--> > code
--> > ----------
--> > code_one
--> > (1 row)
--> >
--> > rnd=# SELECT * FROM ctable;
--> > code | name
--> > ---------------+----------
--> > code_one | Code One
--> > (1 row)
-->
--> These aren't two distinct records -- they're the same record, the
--> one in ctable, as the following queries show:
-->
--> SELECT tableoid::regclass, * FROM ptable;
--> SELECT tableoid::regclass, * FROM ctable;
-->
--> You can use FROM ONLY to see that the record doesn't actually exist
--> in ptable:
-->
--> SELECT tableoid::regclass, * FROM ONLY ptable;
-->
--> > DELETE FROM ONLY ctable WHERE code ~* 'code_one';
--> >
--> > rnd=# SELECT * FROM ptable;
--> > code
--> > ------
--> > (0 rows)
--> >
--> > The record in ctable AND the record in ptable are both deleted even
though I --> > specified "ONLY ctable" in the delete phrase. Why is this
happening? -->
--> Because there was only one record, the one in ctable, and you deleted
--> it. When you inserted the record into ctable that's the only place
--> it went. The query against ptable showed records in the parent
--> table (none) and records in its child tables (one). After you
--> delete the record from the child the subsequent query against the
--> parent returns zero rows because both tables are now empty (the
--> parent was always empty and the child had its one record deleted).
-->
--> --
--> Michael Fuhr
-->
Thanks for the response Michael. I'm beginning to see the light.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-05-29 14:20:33 | Re: The server's LC_CTYPE locale |
Previous Message | Bruce Momjian | 2006-05-29 13:57:48 | Re: no prompt in psql!!! |