आपको पाठ को भागों में विभाजित करने की आवश्यकता नहीं है। आपको यह सुनिश्चित करने की ज़रूरत है कि जब आप कंटेनिंग स्ट्रिंग्स :
इसलिए, सुनिश्चित करें कि पहला संयोजन एक बड़े मूल्य प्रकार के साथ काम कर रहा है (और इस प्रकार इसके परिणाम के रूप में एक बड़ा मूल्य प्रकार उत्पन्न करता है) और प्रत्येक बाद के संयोजन को छंटनी से बचाया जाना चाहिए:
set @template=CONVERT(nvarchar(max),'if NOT EXISTS(select * from ' ) + @DestinationDB + ...
(इस तरह, आपको हर जगह रूपांतरण डालने की ज़रूरत नहीं है )
यह एक त्रुटि उत्पन्न करता है:
declare @t nvarchar(max)
set @t = 'select LEN(''' + REPLICATE('A',3000) + REPLICATE('B',3000) + REPLICATE('C',3000) + ''')'
exec sp_executesql @t
और यह परिणाम 9000 उत्पन्न करता है:
declare @t nvarchar(max)
set @t = CONVERT(nvarchar(max),'select LEN(''') + REPLICATE('A',3000) + REPLICATE('B',3000) + REPLICATE('C',3000) + ''')'
exec sp_executesql @t