Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thủ tục đã lưu trữ, chuyển tên bảng làm tham số

SQL động là cách duy nhất để làm điều này, nhưng tôi sẽ xem xét lại kiến ​​trúc của ứng dụng của bạn nếu nó yêu cầu điều này. SQL không giỏi về mã "tổng quát hóa". Nó hoạt động tốt nhất khi được thiết kế và mã hóa để thực hiện các tác vụ riêng lẻ.

Chọn từ TableA không giống như chọn từ TableB, ngay cả khi các câu lệnh select trông giống nhau. Có thể có các chỉ mục khác nhau, kích thước bảng khác nhau, phân phối dữ liệu, v.v.

Bạn có thể tạo các thủ tục được lưu trữ riêng của mình, đây là một cách tiếp cận phổ biến. Có một trình tạo mã tạo ra các thủ tục được lưu trữ chọn lọc khác nhau cho các bảng mà bạn cần. Mỗi bảng sẽ có (các) SP riêng, sau đó bạn có thể liên kết vào ứng dụng của mình.

Tôi đã viết các loại trình tạo này bằng T-SQL, nhưng bạn có thể dễ dàng làm điều đó với hầu hết các ngôn ngữ lập trình. Đó là những thứ khá cơ bản.

Chỉ cần nói thêm một điều nữa là vì Scott E đã đưa ra các ORM ... bạn cũng có thể sử dụng các quy trình được lưu trữ này với các ORM phức tạp nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đầu ra từ SQL Server và C # khác nhau

  2. Đặt tìm nạp trước hàng mặc định trong SQL Server bằng trình điều khiển JDBC

  3. (Các) chỉ mục tốt nhất để sử dụng cho Câu lệnh OR trong SQL Server

  4. Sửa lỗi Msg 8116 “Kiểu dữ liệu đối số varchar không hợp lệ cho đối số 1 của hàm session_context” trong SQL Server

  5. Làm cách nào để cập nhật lược đồ cơ sở dữ liệu SQL Server của tôi?