Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Каква е ползата от актуализирането, вместо да правите изтриване и след това Вмъкване в същата таблица

Не съм 100% сигурен какво питате, но ще направя един изстрел в тъмното. Извършването на DELETE и след това на INSERT в таблица за актуализиране на информация е много лоша идея.

Защо? Защото, ако имате друга таблица с външен ключ, препращащ към ABC, ще загубите препратката си. Това е, разбира се, освен ако не зададете PK на новия запис със същия PK като стария (изтрит) запис. В такъв случай, защо просто не АКТУАЛИЗИРАТЕ на първо място?

Освен това ИЗТРИВАНЕТО и след това ВМЪКВАНЕТО са две операции, докато АКТУАЛИЗИРАНЕТО е една, поради което ИЗТРИВАНЕТО и ВМЪКВАНЕТО отнемат (теоретично) повече време.

Има и фактор за лекота на използване. Ако DELETE и след това INSERT, трябва ръчно да следите всяка стойност на колона. Ако АКТУАЛИЗИРАТЕ, просто трябва да знаете какво искате да промените.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DevOps:DBA или разработчик – Получаване на правилния баланс

  2. Разберете дали даден обект е дефинирана от потребителя таблица в SQL Server с OBJECTPROPERTY()

  3. Клавиш за бърз достъп за промяна на съхранена процедура в ssms

  4. Автоматизирайте изпълнението на множество скриптове на SQL Server 2012 в определен ред

  5. Списък на всички таблици с връзка към дадена таблица или изглед