Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Procedura składowana, przekaż nazwę tabeli jako parametr

Dynamiczny SQL to jedyny sposób, aby to zrobić, ale rozważyłbym ponownie architekturę twojej aplikacji, jeśli tego wymaga. SQL nie jest zbyt dobry w kodzie „uogólnionym”. Działa najlepiej, gdy jest zaprojektowany i zakodowany do wykonywania poszczególnych zadań.

Wybieranie z TableA nie jest tym samym, co wybieranie z TableB, nawet jeśli instrukcje select wyglądają tak samo. Mogą istnieć różne indeksy, różne rozmiary tabel, dystrybucja danych itp.

Można wygenerować indywidualne procedury składowane, co jest powszechnym podejściem. Miej generator kodu, który tworzy różne wybrane procedury składowane dla potrzebnych tabel. Każda tabela miałaby swoje własne SP, które można następnie połączyć ze swoją aplikacją.

Napisałem tego rodzaju generatory w T-SQL, ale można to łatwo zrobić w większości języków programowania. To dość podstawowe rzeczy.

Żeby dodać jeszcze jedną rzecz, odkąd Scott E przywołał ORM-y... powinieneś być w stanie używać tych procedur zapisanych w bazie z najbardziej wyrafinowanymi ORM-ami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Odczytaj wzorzec char,double,int z ciągu w sql

  2. Jak zoptymalizować działanie Upsert (aktualizacja i wstawianie) w pakiecie SSIS?

  3. Błąd „Musisz zadeklarować zmienną skalarną” podczas przekazywania parametru wycenianego w tabeli do sparametryzowanej instrukcji SQL

  4. Znaleźć wiersze z parametrem w jednej z dwóch kolumn?

  5. Agregat może nie pojawić się na liście zestawów instrukcji UPDATE