A string output stream is a special object that may be used to
    buffer arbitrarily long streams of data. They are useful for handling data
    that would not otherwise fit within normal varchar size
    limitations. The HTTP output functions optionally take a string output
    stream handle as a parameter and then output to said stream instead of
    the HTTP client. A string output stream can be assigned to a database column in insert or update, causing the characters written to the stream to be assigned to the column as a narrow string.
    The function
    string_output_string
    
     can be used to produce a varchar out of a string output stream. It may
     be called repeatedly to obtain several copies of the data.
    http_rewrite
    can be used to flush a string output stream.If a string output stream is passed to the function
    result the
    data stored in it is sent to the client.The string output object cannot be copied. It cannot therefore be
    assigned between two variables or passed by value (as an IN parameter.)
    It can be passed by reference (OUT, INOUT parameter.)