Обсуждение: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

Поиск
Список
Период
Сортировка

Section I - 2.9: Use SELECT to confirm set of rows before DELETE

От
PG Doc comments form
Дата:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/14/tutorial-delete.html
Description:

Since this tutorial section is coined at beginners, I think it could be
useful to tip users about the possibility to use a SELECT statement with the
exact same qualification(s) as the DELETE statement they're planning to run
to see which rows are about to be deleted, to avoid unintended deletion of
rows. I suggest something like this:

...
Without a qualification, DELETE will remove all rows from the given table,
leaving it empty. The system will not request confirmation before doing
this!

You can check which rows will be deleted by any DELETE statement on the
form:
```DELETE FROM tablename ... <qualificaton> ...```
by rewriting it into a corresponding SELECT statement:
```SELECT * FROM tablename ... <qualification> ...```

This is my first attempt at contributing to the community, so please be
nice. :)

Re: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

От
Bruce Momjian
Дата:
On Mon, Jun  6, 2022 at 09:19:17PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
> 
> Page: https://www.postgresql.org/docs/14/tutorial-delete.html
> Description:
> 
> Since this tutorial section is coined at beginners, I think it could be
> useful to tip users about the possibility to use a SELECT statement with the
> exact same qualification(s) as the DELETE statement they're planning to run
> to see which rows are about to be deleted, to avoid unintended deletion of
> rows. I suggest something like this:
> 
> ...
> Without a qualification, DELETE will remove all rows from the given table,
> leaving it empty. The system will not request confirmation before doing
> this!
> 
> You can check which rows will be deleted by any DELETE statement on the
> form:
> ```DELETE FROM tablename ... <qualificaton> ...```
> by rewriting it into a corresponding SELECT statement:
> ```SELECT * FROM tablename ... <qualification> ...```
> 
> This is my first attempt at contributing to the community, so please be
> nice. :)

Uh, this is more of a general SQL training that we don't normally cover
in the Postgres docs --- we try to focus on Postgres-specific stuff that
people need to know.

-- 
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson




Re: Section I - 2.9: Use SELECT to confirm set of rows before DELETE

От
Adrian Wiik
Дата:
That makes sense. Thanks for letting me know!


On Sun, Jul 10, 2022, 3:17 AM Bruce Momjian <bruce@momjian.us> wrote:
On Mon, Jun  6, 2022 at 09:19:17PM +0000, PG Doc comments form wrote:
> The following documentation comment has been logged on the website:
>
> Page: https://www.postgresql.org/docs/14/tutorial-delete.html
> Description:
>
> Since this tutorial section is coined at beginners, I think it could be
> useful to tip users about the possibility to use a SELECT statement with the
> exact same qualification(s) as the DELETE statement they're planning to run
> to see which rows are about to be deleted, to avoid unintended deletion of
> rows. I suggest something like this:
>
> ...
> Without a qualification, DELETE will remove all rows from the given table,
> leaving it empty. The system will not request confirmation before doing
> this!
>
> You can check which rows will be deleted by any DELETE statement on the
> form:
> ```DELETE FROM tablename ... <qualificaton> ...```
> by rewriting it into a corresponding SELECT statement:
> ```SELECT * FROM tablename ... <qualification> ...```
>
> This is my first attempt at contributing to the community, so please be
> nice. :)

Uh, this is more of a general SQL training that we don't normally cover
in the Postgres docs --- we try to focus on Postgres-specific stuff that
people need to know.

--
  Bruce Momjian  <bruce@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson