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

Zdá se, že zřetězení hodnot nvarchar(max) nefunguje (+=funguje jako =)

Operátor +=platí pouze pro číselné datové typy v SQL Server. Dokumentace společnosti Microsoft zde

Pro zřetězení řetězců je třeba napsat přiřazení a zřetězení samostatně.

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;

Pokud tento dotaz spouštíte v Management Studio, mějte také na paměti, že existuje omezení velikosti dat, která vrátí (včetně výpisu tisku). Pokud tedy definice vašich modulů překročí tento limit, budou ve výstupu zkráceny.



  1. Podpora výkonu v nastavení hybridního cloudu

  2. Nelze se připojit k serveru:postgresql na ubuntu v subsystému windows pro linux

  3. Objekt třídy DateTime nelze převést na řetězec

  4. Mysql-dev pro mac os