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

Dlaczego otrzymuję Procedura oczekuje parametru „@statement” typu „ntext/nchar/nvarchar”. kiedy próbuję użyć sp_executesql?

Wygląda na to, że wywołujesz sp_executesql z instrukcją VARCHAR, kiedy musi to być NVARCHAR.

np. Spowoduje to błąd, ponieważ @SQL musi być NVARCHAR

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

A więc:

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. Procedura składowana EXEC vs różnica sp_executesql?

  2. Połącz się z bazą danych MSSQL za pomocą Flask-SQLAlchemy

  3. Uzyskiwanie i instalacja Microsoft SQL Server Management Studio

  4. Wykonaj zapytanie w usługach SQL Server Analysis Services za pomocą IronPython

  5. Tally Table, aby wstawić brakujące daty między dwiema datami? SQL