7.8.1 WRITE LINE文の形式と規則
(1) 機能
指定した値式の文字列をファイルに出力します。
(2) 形式
WRITE LINE 値式
(3) オペランド
(a) 値式
ファイルに出力する値式を指定します。
値式についての規則を次に示します。
-
値式に指定できるものを次に示します。
-
定数
-
USER値関数
-
SQL変数,又はSQLパラメタ
-
連結演算
-
スカラ関数
-
関数呼出し
-
CASE式
-
CAST指定
-
SQLERRM_OF_LAST_CONDITION
-
-
値式のデータ型は,文字データ型(CHAR及びVARCHAR),各国文字データ型(NCHAR及びNVARCHAR),又は混在文字データ型(MCHAR及びMVARCHAR)にしてください。
-
値式の結果のデータ型が文字データ型となる場合,ファイルに出力する文字の文字集合は値式で指定した文字集合となります。
-
値式の出力先は,クライアント環境定義PDWRTLNPATHで指定した出力先となります。また,値式を出力するファイルの最大サイズは,クライアント環境定義PDWRTLNFILSZで指定します。PDWRTLNPATH,及びPDWRTLNFILSZについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
値式の文字列の最後に,HiRDBサーバ側の環境の改行コードが付加されます。改行コードは,HiRDBサーバのOSによって異なります。また,値式の値がクライアント環境定義PDWRTLNCOMSZで指定したサイズを超えた場合,最後に付加するHiRDBサーバ側の改行コードは,PDWRTLNCOMSZで指定したサイズに収まるように,値式の文字列の後方を削除して,改行コードを付加します。PDWRTLNCOMSZについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。
付加されるHiRDBサーバ側の改行コードを次の表に示します。
表7‒4 付加されるHiRDBサーバ側の改行コード HiRDBサーバのOS
付加される改行コード
AIX
NL(X'0a')
Linux
NL(X'0a')
Windows
CR(X'0d')+NL(X'0a')
-
値式の値がナル値の場合は,ファイルに出力しません。
-
値式中には,副問合せを指定できません。
(4) 共通規則
-
WRITE LINE文は,SQL手続き,及びトリガに指定できます。SQL関数中には指定できません。
-
クライアント環境定義PDWRTLNFILSZを指定しなかった場合,WRITE LINE文は実行できません。
(5) 使用例
日付データ型のSQLパラメタ「fromdate」を文字列に変換して,ファイルに出力します。
CREATE PROCEDURE proc_1(IN fromdate DATE) BEGIN WRITE LINE 'fromdate='||char(fromdate); END;