• dwain.c (10/7/2013)


    Unfortunately, if it gets too long there are limitations on what can display in the Messages pane (4000 characters I think).

    So don't do that anymore. 😉 I got this tip from opc.three.

    --===== Declare a demonstration variable to store

    -- a long string in.

    DECLARE @SomeLongString VARCHAR(MAX)

    ;

    --===== This just builds a long string of SELECTs.

    -- Don't ever do something like this with

    -- public facing string parameters because

    -- it is concatenated dynamic SQL.

    WITH

    cteTally AS

    (

    SELECT TOP 1000

    N = ROW_NUMBER()OVER(ORDER BY (SELECT 1))

    FROM master.sys.all_columns ac1

    CROSS JOIN master.sys.all_columns ac2

    )

    SELECT @SomeLongString

    = ISNULL(@SomeLongString,'--')

    + REPLACE(REPLACE('

    SELECT "This is string #<<N>>";

    '

    ,'"','''')

    ,'<<N>>',RIGHT(N+10000,4))

    FROM cteTally

    OPTION (MAXDOP 1)

    ;

    --===== Show the length of the string.

    SELECT LengthOfString = LEN(@SomeLongString)

    ;

    --===== Now, display the string in its entirety.

    -- Run the code in the grid mode and then click on the XML to see

    -- it all with indents and line breaks preserved.

    SELECT @SomeLongString AS [processing-instruction(SomeMeaninglessLabel)]

    FOR XML PATH(''), TYPE

    ;

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)