sql >> Database teknologi >  >> RDS >> Sqlserver

Sammenkædning af nvarchar(max)-værdier ser ikke ud til at virke (+=fungerer som =)

Operatoren +=gælder kun for numeriske datatyper i SQL Server. Microsoft-dokumentation her

For strengsammenkædning skal du skrive opgaven og sammenkædningen separat.

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;

Hvis du kører denne forespørgsel i Management Studio, skal du også huske på, at der er en grænse for størrelsen af ​​de data, som den returnerer (inklusive i en udskriftserklæring). Så hvis definitionerne af dine moduler overskrider denne grænse, vil de blive afkortet i outputtet.



  1. MySQL JSON-lagring vs to borde

  2. MySQL, opdater flere tabeller med en forespørgsel

  3. Numeriske funktioner i Oracle (fuld liste)

  4. Vis flere værdier fra en række, når dropdown-boksen bruges fra mysql-databasen