Q:

very long string variable? 

Is there a longer type variable for building lengthy sql statements?  how add new line too?  I want to store the statement in a very long variable text so I can run it from sql prompt.  I think it will exceed limit if I use normal variable.  thanks
    export DATABASE_LIST="/location/dblist.cfg"
    export SQL_INSERT_TEXT=""

    while read -r USERID ORACLE_SID2
    do

    ### how do I do this if too long??  and add new line
    SQL_INSERT_TEXT="${SQL_INSERT_TEXT} longgSqlStatements; \newline"

    done < <(tac $DATABASE_LIST)

    echo ${SQL_INSERT_TEXT}

    export sqllog = "/location/sqllog.log"
    $ORACLE_HOME/bin/sqlplus -S accnt_name@db_name << EOF >${sqllog}
    ${SQL_INSERT_TEXT}
    EOF

A:

Linux shells generally don't have any variable types.  There are just strings, and the maximum length of a string can be had by running getconf ARG_MAX; on my system the maximum string is about 2M chars long.   
Try using bash's builtin printf -v to conveniently load a variable with new lines, like this:
printf -v s "%s\n" hello there, this works "with quotes" too\.
echo "$s"

Output:
hello
there,
this
works
with quotes
too. 

So the syntax might be something like:
printf -v SQL_INSERT_TEXT '%s\n' "${SQL_INSERT_TEXT}" "longgSqlStatements;"

Or, depending on what's needed, perhaps:
printf -v SQL_INSERT_TEXT '%s\n' "${SQL_INSERT_TEXT} longgSqlStatements;"

