Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Риторический вопрос зачем нужен update  [new]
мигель1
Member

Откуда:
Сообщений: 3216
Когда можно сделать delete и insert
19 май 15, 22:52    [17664091]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7377
мигель1
Когда можно сделать delete и insert
Лучше-уж сразу базу пересоздать
19 май 15, 22:54    [17664094]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Artny
Guest
да и delete по большому счету не нужен, можно сделать select, truncate, insert
20 май 15, 04:48    [17664444]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
+ DROP
Guest
Ваще ничо не надо !!1
Ни INSERT, ни UPDATE, ни DELETE !
Пользуем SELECT ... INTO ... + DROP , "аплодируем и радуемся" !
20 май 15, 06:40    [17664480]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27973
Artny
да и delete по большому счету не нужен, можно сделать select, truncate, insert
ага, есть у тебя тетрадь в клеточку, где расчерчена таблица в N колонок, и надо тебе в одной галочки проставить

прочитал, запомнил (select), выдрал листы (truncate), по памяти расчертил и заполнил заного, уже с проставленной где надо галочкой (insert)

удобно
20 май 15, 06:41    [17664481]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
триединый MERGE
Guest
Как-то вы про MERGE забываете... А ведь он умеет и UPDATE, и DELETE, и INSERT...
Вот и достаточно только MERGE оставить, для упрощения изучения SQL
20 май 15, 07:36    [17664559]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
мигель1
Когда можно сделать delete и insert


ты прав, можно и без update жить...
20 май 15, 08:06    [17664618]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Glory
Member

Откуда:
Сообщений: 104760
мигель1
Когда можно сделать delete и insert

а целостность данных как при 2х отдельных командах соблюсти ?
20 май 15, 08:18    [17664646]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
мигель1
Когда можно сделать delete и insert

если у вас есть 2 таблицы и столбец первой таблицы нужно проапдейтить в соответствии с данными другой таблицы, то тут ваши delete и insert не помогут.
20 май 15, 08:26    [17664669]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
мигель1,

вот , к примеру, конструкция

UPDATE
    Table
SET
    Table.col1 = other_table.col1,
    Table.col2 = other_table.col2
FROM
    Table
INNER JOIN
    other_table
ON
    Table.id = other_table.id
20 май 15, 08:29    [17664678]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Кролик-зануда
Guest
каким, однако, животрепещущим оказался "риторический" вопрос

[quot Wilhelm Holtoff]
мигель1
вот , к примеру, конструкция


и вы так уверены, что здесь нельзя обойтись без апдейта? :-)
20 май 15, 09:04    [17664786]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
триединый MERGE
Guest
Кролик-зануда
каким, однако, животрепещущим оказался "риторический" вопрос

Wilhelm Holtoff
мигель1,

вот , к примеру, конструкция :-)

и вы так уверены, что здесь нельзя обойтись без апдейта? :-)
Вот и я говорю - достаточно одной таблетки MERGE
20 май 15, 09:19    [17664839]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
Glory
мигель1
Когда можно сделать delete и insert

а целостность данных как при 2х отдельных командах соблюсти ?


Разослать всем пользователям письмо с прозьбой не проводить никаких операций пока делается наш delete и insert :)
20 май 15, 09:47    [17664969]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
Кролик-зануда,

ты сначала научись цитировать сообщения на форуме, а потом вы%бывайся выступай
20 май 15, 09:59    [17665041]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Кролик-зануда
Guest
Wilhelm Holtoff,

аргумент, однозначно.
20 май 15, 10:04    [17665068]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
Кролик-зануда,

тебе по существу есть что сказать, тролль ?
мигель1
Когда можно сделать delete и insert
вот с этим сможешь выполнить аналогичную операцию ?
20 май 15, 10:09    [17665098]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Glory
Member

Откуда:
Сообщений: 104760
Кролик-зануда
и вы так уверены, что здесь нельзя обойтись без апдейта? :-)

Можно даже обойтись без умножения и деления, заменив их на сложение и вычитание
Или скажем все логичесике схемы делать только на элементах И-НЕ.
Только сколько времени займет 3+3+3+3+3+3+3+3+3+3 вместо 3*10 и сколько места будет занимать схема на основе одного элемента
20 май 15, 10:09    [17665101]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Кролик-зануда
Guest
Wilhelm Holtoff,

я-то могу
но зачем мне учить хамов, которые не могут и при этом уверены, что они умнее остальных?


Glory,

согласен, можно много чего придумать :)
думаю, мое мнение по вопросу ТС "зачем" вполне совпадает с вашим.

но вопрос-то риторический, на него ответ вообще не предполагается ;)
20 май 15, 10:14    [17665127]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
Кролик-зануда,
та-дааам ... ! слив засчитан.
20 май 15, 10:15    [17665137]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
o-o
Guest
кстати, начиная с 2005-ого,
in-place updates of key values do not happen.
т.е. именно что вместо update -- delete + insert,
и неважно, кластерный ли индекс или некластерный,
и влазит или нет новое значение на место старого:
Do changes to index keys really do in-place updates?

что разнится с описанием процесса в книженции SQL Server 2008 Internals:
+

Updating in Place
In SQL Server 2008, updating a row in place is the rule rather than the exception. This means
that the row stays in exactly the same location on the same page and only the bytes affected
are changed. In addition, the log contains a single record for each update in-place operation
unless the table has an update trigger on it or is marked for replication. In these cases, the
update still happens in place, but the log contains a DELETE record followed by an INSERT
record if any of the index key columns are updated.
In cases where a row can’t be updated in place, the cost of a not-in-place update is minimal
because of the way the nonclustered indexes are stored and because of the use of forwarding
pointers. In fact, you can have an update not in place, for which the row stays on the original
page. Updates happen in place if a heap is being updated (and there is enough space on the
page) or if a table with a clustered index is updated without any change to the clustering keys.
You can also get an update in place if the clustering key changes but the row does not need
to move at all. For example, if you have a clustered index on a lastname column containing
consecutive key values of Able, Becker, and Charlie, you might want to update Becker to Baker.
Because the row stays in the same location even after the clustered index key changes, SQL
Server performs this as an update in place.
On the other hand, if you update Able to Buchner,
the update cannot occur in place, but the new row might stay on the same page.

Updating Not in Place

If your update can’t happen in place because you’re updating clustering keys, the update
occurs as a DELETE followed by an INSERT. In some cases, you get a hybrid update: some
of the rows are updated in place and some aren’t. If you’re updating index keys, SQL Server
builds a list of all the rows that need to change as both a DELETE and an INSERT operation.
This list is stored in memory, if it’s small enough, and is written to tempdb if necessary. This
list is then sorted by key value and operator (DELETE or INSERT). If the index whose keys are
changing isn’t unique, the DELETE and INSERT steps are then applied to the table. If the index
is unique, an additional step is carried out to collapse DELETE and INSERT operations on the
same key into a single UPDATE operation.
20 май 15, 10:43    [17665284]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
автор
Когда можно сделать delete и insert

Математически нет разницы, но мы живём в физическом мире и мат. модель описывает его не точно.
20 май 15, 11:25    [17665492]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Кот Матроскин
Member

Откуда: Москва
Сообщений: 8933
Wilhelm Holtoff
Кролик-зануда,

тебе по существу есть что сказать, тролль ?
мигель1
Когда можно сделать delete и insert
вот с этим сможешь выполнить аналогичную операцию ?


ээ, а что, есть проблемы?
20 май 15, 12:35    [17665862]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
пойдем дельше - БД ваще нахрена нужна
20 май 15, 12:52    [17665946]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
o-o
Guest
и что, тема все еще открыта?
"зачем 1 операция, когда можно сделать 2"???
а не забываем еще залогировать это дело, да, давайте помножим число записей, идущих в лог, на 2.

то приходят недовольные: зачем апдэйт логируется, давайте это упраздним,
так теперь модно наоборот: зачем 1 раз писать, когда можно 2
20 май 15, 12:54    [17665955]     Ответить | Цитировать Сообщить модератору
 Re: Риторический вопрос зачем нужен update  [new]
Wilhelm Holtoff
Member

Откуда:
Сообщений: 85
Кот Матроскин
ээ, а что, есть проблемы?

а ты можешь заменить вышеуказанную конструкцию с помощью delete и insert ?
20 май 15, 13:08    [17666084]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить