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

Tại sao tôi nhận được Thủ tục mong đợi tham số '@statement' thuộc loại 'ntext / nchar / nvarchar'. khi tôi cố gắng sử dụng sp_executesql?

Có vẻ như bạn đang gọi sp_executesql bằng câu lệnh VARCHAR, khi nó cần là NVARCHAR.

ví dụ. Điều này sẽ gây ra lỗi vì @SQL cần phải là NVARCHAR

DECLARE @SQL VARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL

Vì vậy:

DECLARE @SQL NVARCHAR(100)
SET @SQL = 'SELECT TOP 1 * FROM sys.tables'
EXECUTE sp_executesql @SQL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật nhiều bảng trong SQL Server bằng INNER JOIN

  2. Định dạng SQL trong SQL Server Management Studio

  3. Cập nhật tài khoản thư cơ sở dữ liệu trong SQL Server (T-SQL)

  4. Bộ xử lý AMD EPYC 7002 Series và Máy chủ SQL

  5. Định dạng nguồn SSIS Chuyển đổi ngầm định cho ngày giờ