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

Quy trình được lưu trữ EXEC với tham số linh hoạt để chọn số lượng (*) ... và gửi eMail

Tôi cảm thấy có nghĩa vụ phải khuyên bạn rằng việc chuyển các biến vào các chuỗi động như thế này khiến bạn dễ dàng sử dụng SQL. Đây là một thực hành xấu và thường bị khó chịu trừ khi được kiểm soát rất chặt chẽ.

Điều đó nói rằng ...

Thay đổi @MySQL của bạn từ varchar thành nvarchar.

Sau đó, hãy thử thay đổi điều này:

set @MySQL = 'select count(*) from ' [email protected] + ' where ' + @MyWhere 
set @SQL_Count = @MySQL 
set @recordCount = convert(int, @SQL_Count ) -- <<--this is the error

Về điều này:

set @MySQL = 'select @recordCount=count(2) from ' + @MyTable + ' where ' + @MyWhere 
exec sp_execute @MySQL, N'@recordCount int OUTPUT', @[email protected] OUTPUT


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tạo một bước trong SQL Server Agent Job sẽ chạy gói SSIS của tôi?

  2. Cơ sở dữ liệu có thể xử lý> 500 triệu hàng

  3. Làm thế nào để tìm các hàng liên tiếp dựa trên giá trị của một cột?

  4. Isoweek trong SQL Server 2005

  5. Xóa không gian trống ở cuối trong nội dung trường