pirmdiena, 2012. gada 16. aprīlis

Print komandas teksta garuma ierobežojums

Print komanda atgriež ziņojumu, kas nevar būt garāks par 4000 simboliem (ja nvarchar) vai 8000 (ja varchar).

Tātad:
PRINT 'šādi- te var būt max 8000 simboli!';
PRINT N'šādi- te var būt max 4000 simboli!';
Samērā bieži ģenerēju kādus skriptus vai izvadu jau esošus skriptus SSMS ziņojumu logā (piemēram, "CV lai iegūtu DB objekta izveides skriptu"). Man šis 4000 simbolu garuma ierobežojums liekas kaitinošs.

Visai labs risinājums šai problēmai atrodams šeit: SQL Server - Print MAX.
Ideja ir vienkārša: izvadāmais teksts- nvarchar(max) tiek sadalīts mazākās daļās, no kurām katra nepārsniedz 4000 simbolu. Dalot ņem vērā jaunas rindas.
Skripts gan nav ideāls- ja vienā rindā būs vairāk kā 4000 simbolu, tad joprojām tiks nogrieztas beigas, bet šādi gadījumi man nav gadījušies.

Nav komentāru:

Ierakstīt komentāru