新しく学んだ事

業務システムの受託開発を主に行っています。人生日々勉強。日々新しく学んだ事を記します。

print文でSQL文が長すぎて切れた時の対応

ストアド内にprint文で長いSQL文を出力した場合に
切れてしまう現象がある。
8000バイトを超えると切れるそう。
https://msdn.microsoft.com/ja-jp/library/ms176047(v=sql.120).aspx

4000文字ごとに分割してselect文で表示させるようにした。

select '@strSQL_SUB1',substring(@strSQL,1,4000)
select '@strSQL_SUB2',substring(@strSQL,4001,4000)
select '@strSQL_SUB3',substring(@strSQL,8001,4000)
select '@strSQL_SUB4',substring(@strSQL,12001,4000)
select '@strSQL_SUB5',substring(@strSQL,16001,4000)
select '@strSQL_SUB6',substring(@strSQL,20001,4000)