sql >> Database >  >> RDS >> Sqlserver

Het samenvoegen van nvarchar(max)-waarden lijkt niet te werken (+=werkt als =)

De operator +=is alleen van toepassing op numerieke gegevenstypen in SQL Server. Microsoft-documentatie hier

Voor tekenreeksaaneenschakeling moet u de toewijzing en aaneenschakeling afzonderlijk schrijven.

DECLARE @sql nvarchar(max);
SELECT @sql = N'';
SELECT @sql = @sql + [definition] + N'
GO
'
FROM sys.sql_modules 
WHERE OBJECT_NAME(object_id) LIKE 'dt%'
ORDER BY OBJECT_NAME(object_id);

PRINT @sql;

Als u deze query uitvoert in Management Studio, moet u er ook rekening mee houden dat er een limiet is aan de grootte van de gegevens die worden geretourneerd (inclusief in een afdrukopdracht). Dus als de definities van uw modules deze limiet overschrijden, worden ze afgekapt in de uitvoer.



  1. Wat is de snelste manier om een ​​MySQL-tabel te pollen voor nieuwe rijen?

  2. Hoe de ojdbc-pot aan mijn project toe te voegen en te gebruiken?

  3. Neo4j - Een knooppunt verwijderen met Cypher

  4. System.Data.SqlTypes.SqlTypeException:SqlDateTime overloop