Конференция "Прочее" » UPDATE / INSERT в одном флаконе
 
  • MsGuns © (30.09.08 15:04) [20]
    >зы: за синтаксис не пинайте...

    Будем пинать за логику, точнее за ее отсутствие. А также за абсолютно не рабочий код
    :)
  • Городской Шаман (30.09.08 15:10) [21]

    > Добегался...   (30.09.08 12:38)  


    Я длоя этого написал мини ORM движок с наличием хелперов(динамическая вставка и обновление полей объекта в зависимости от изменения в них данных). Писал два дня, думал две недели...
  • Раиса © (30.09.08 15:18) [22]
    Добегался...   (30.09.08 12:38)  


    сначала делаем INSERT, а в случае исключения делаем UPDATE

    1.Я так иногда делаю (MS SQL).

    Anatoly Podgoretsky ©   (30.09.08 13:34) [11]
    Удалять можно, тогда DELETE + INSERT



    2.И такое тоже практикуется чаще, чем первый вариант. (MS SQL, MySQL).
  • oldman © (30.09.08 15:22) [23]

    > KygECHuK ©   (30.09.08 15:03) [19]
    >
    > > [17]
    >
    > Это как напильником пилить дерево...


    Нахлынуло просто.
    Dbase, Fox, Clipper...
    Решать проблему тупо и в лоб!
  • Anatoly Podgoretsky © (30.09.08 15:29) [24]
    > clickmaker  (30.09.2008 13:42:13)  [13]

    update = DELETE + INSERT и по сути тоже. Только триггера мешаются, но в чистом SQL это именно так.
  • Anatoly Podgoretsky © (30.09.08 15:31) [25]

    > в oracle используется merge

    Включат в стандарт или хотя бы в реализацию сервера, то же будем, но по сути это извращение.
  • tesseract © (30.09.08 15:45) [26]

    > update = DELETE + INSERT и по сути тоже.


    Вах. Зависит от базы. Например на некторых Delete такая процедура, что лучше её не выполнять.
  • Игорь Шевченко © (30.09.08 15:50) [27]
    tesseract ©   (30.09.08 15:45) [26]


    > Вах. Зависит от базы.


    Ты можешь предложить другой способ ?
  • oldman © (30.09.08 15:55) [28]

    > tesseract ©   (30.09.08 15:45) [26]
    > > update = DELETE + INSERT и по сути тоже.
    > Вах. Зависит от базы.
    >
    > Игорь Шевченко ©   (30.09.08 15:50) [27]
    > Ты можешь предложить другой способ ?


    Игорь, а что замена значения полей равно delete+insert?
    Для значения - да. Для записи - таки нет!
  • Anatoly Podgoretsky © (30.09.08 16:27) [29]
    > tesseract  (30.09.2008 15:45:26)  [26]

    А я оговорил "если можно", но это потому, что производители SQL серверов извратили суть SQL
    В теории это одно и тоже.
  • tesseract © (30.09.08 16:39) [30]

    > Игорь, а что замена значения полей равно delete+insert?


    Может и такое быть. Но страничные, как правило хитрее работают. При update в транзакции, создать новую запись и пометить область, как свободную - самый нажёдный и быстрый способ. Версионники так ,скорее всего, делают в любом случае.
  • Игорь Шевченко © (30.09.08 17:39) [31]

    > Игорь, а что замена значения полей равно delete+insert?


    В большинстве случаев да. Потому что при замене значений полей заменяется запись целиком
  • Vlad Oshin © (30.09.08 17:47) [32]

    >  замена значения полей равно delete+insert?

    а ID записи?
  • Anatoly Podgoretsky © (30.09.08 19:42) [33]
    > Vlad Oshin  (30.09.2008 17:47:32)  [32]

    А что ИД записи?
  • Раиса © (30.09.08 20:11) [34]

    > Anatoly Podgoretsky ©   (30.09.08 19:42) [33]


    ИД записи поменяется (хотя не знаю, кому это принципиально).
  • Раиса © (30.09.08 20:11) [35]
    Удалено модератором
  • Johnmen © (30.09.08 20:40) [36]

    > Раиса ©   (30.09.08 20:11) [34]
    > ИД записи поменяется

    Это про какой сервер речь?
  • Johnmen © (30.09.08 20:40) [37]
    Удалено модератором
  • Anatoly Podgoretsky © (30.09.08 21:01) [38]
    > Раиса  (30.09.2008 20:11:34)  [34]

    Зачем тогда выбраны изменяемые ИД, если важна их неизмеяемость?
  • Anatoly Podgoretsky © (30.09.08 21:02) [39]
    Мы с Тамарой ходим парой.
 
Конференция "Прочее" » UPDATE / INSERT в одном флаконе
Есть новые Нет новых   [134444   +22][b:0][p:0.001]