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

Съхранена процедура, подайте името на таблицата като параметър

Динамичният SQL е единственият начин да направите това, но бих преразгледал архитектурата на вашето приложение, ако изисква това. SQL не е много добър в "генерализирания" код. Работи най-добре, когато е проектиран и кодиран да изпълнява отделни задачи.

Избирането от TableA не е същото като избирането от TableB, дори ако операторите за избор изглеждат еднакви. Може да има различни индекси, различни размери на таблици, разпределение на данни и т.н.

Можете да генерирате вашите индивидуални съхранени процедури, което е често срещан подход. Имайте генератор на код, който създава различните избрани съхранени процедури за таблиците, от които се нуждаете. Всяка таблица ще има свои собствени SP(s), които след това можете да свържете към вашето приложение.

Написал съм тези видове генератори в T-SQL, но можете лесно да го направите с повечето езици за програмиране. Това са доста елементарни неща.

Само да добавя още нещо, тъй като Скот Е повдигна ORM... вие също трябва да можете да използвате тези съхранени процедури с най-сложните ORM.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате клаузата Where в Select Statement в SQL Server - SQL Server / TSQL Урок, част 109

  2. ModuleNotFoundError:Няма модул с име „pyodbc“ при импортиране на pyodbc в py скрипт

  3. Променете CTE SELECT на дефинирана от потребителя функция на таблична стойност

  4. Как да използвам име на таблица на SQL Server в заявка за избор с променлива?

  5. Извличане на данни от MS SQL Server-2008, препращащи към множество таблици