sql >> Databasteknik >  >> RDS >> Sqlserver

Varför får jag Procedure förväntar sig parametern '@statement' av typen 'ntext/nchar/nvarchar'. när jag försöker använda sp_executesql?

Det låter som att du anropar sp_executesql med en VARCHAR-sats, när den måste vara NVARCHAR.

t.ex. Detta kommer att ge felet eftersom @SQL måste vara NVARCHAR

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

Så:

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


  1. MySQL UPPDATERING med IF-villkor

  2. SQL Azure:Databas XXXYYY på servern är för närvarande inte tillgänglig

  3. Django:sqlite för dev, mysql för prod?

  4. Kan jag blint ersätta alla mysql_-funktioner med mysqli_?