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

Автоматично генериране на йерархична стойност

Имам различен подход, за да отговоря на двата въпроса. Обикновено избягвам да използвам тригери, докато това не стане последният избор, тъй като добавя ненужни допълнителни разходи към базата данни.

Сравнение между тригери и съхранена процедура

  • Лесно е да видите връзките на таблиците, ограниченията, индексите, съхранената процедура в базата данни, но тригерите са трудни за преглед.
  • Тригерите се изпълняват невидими за клиентското приложение. Те не се виждат или могат да бъдат проследени в кода за отстраняване на грешки.
  • Лесно е да забравите за тригерите и ако няма документация, ще бъде трудно да разберете за съществуването на нови разработчици.
  • Тригерите се изпълняват всеки път, когато полетата на базата данни се актуализират и са свързани със системата. Прави работата на системата по-бавна.

Достатъчно казано, ето защо предпочитам съхранени процедури. Можете да създадете файл за работа (например:той се изпълнява на всеки 30 минути или по всяко друго време) чрез агент. Можете да използвате логиката за вмъкване в този файл със задача. По този начин вашите данни в tree table ще бъде близо до реалното време.

сега препратка за създаване на агент:
http://msdn.microsoft.com/en-us/library/ms191128(v=sql.90).aspx
http://msdn. microsoft.com/en-us/library/ms181153(v=sql.105).aspx



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Трябва ли всички числа да бъдат посочени с латински цифри?

  2. Съхранение на файлове в SQL Server

  3. T-SQL за намиране на излишни индекси

  4. Вмъкнете varbinary данни в базата данни на SQL Server

  5. SQL Server 2008 и HashBytes