sql >> Databáze >  >> RDS >> Sqlserver

Proč dostanu Postup očekává parametr '@statement' typu 'ntext/nchar/nvarchar'. když se pokusím použít sp_executesql?

Zní to, jako byste volal sp_executesql s příkazem VARCHAR, když to musí být NVARCHAR.

např. To způsobí chybu, protože @SQL musí být NVARCHAR

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

Takže:

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


  1. Vložit dotaz zkontrolovat, zda záznam existuje - Pokud ne, vložte jej

  2. Použití GROUP_CONCAT na poddotaz v MySQL

  3. php a mysql kopírují záznam z jedné tabulky do druhé

  4. Pivoting tabulky v SQL (tj. křížová tabulka / křížová tabulka)