Symfoware Parallel Server SQLビギナーズガイド |
目次
索引
![]() ![]() |
第7章 応用プログラムの実行時に動的SQL文を実行する方法 | > 7.3 SQL文の条件を動的に変更して実行する |
1行のデータの取り出しを行う場合には、動的単一行SELECT文を準備して実行します。動的単一行SELECT文を実行するには、USING句を指定したEXECUTE文を使用します。動的パラメタ指定のある動的単一行SELECT文の指定例を以下に示します。なお、SQL記述子域を操作するSQL文の詳細については、“図:SQL記述子域(動的パラメタ指定)を使用した応用プログラムの例”の例を参照してください。
例
端末から入力した動的単一行SELECT文の例です。端末から入力した動的パラメタ指定の値を探索条件としてデータを検索します。
… [端末から入力した動的単一行SELECT文をstrに格納] … EXEC SQL PREPARE STMID FROM :str; EXEC SQL ALLOCATE DESCRIPTOR 'INDESC' WITH MAX 100; EXEC SQL ALLOCATE DESCRIPTOR 'OUTDESC' WITH MAX 100; EXEC SQL DESCRIBE INPUT STMID USING SQL DESCRIPTOR 'INDESC'; EXEC SQL DESCRIBE OUTPUT STMID USING SQL DESCRIPTOR 'OUTDESC'; EXEC SQL GET DESCRIPTOR 'INDESC' :icount = COUNT; for( i = 1; i <= icount; i++ ) { EXEC SQL GET DESCRIPTOR 'INDESC' VALUE :i … … [動的パラメタ指定の情報をSQL記述子域から取得 … EXEC SQL SET DESCRIPTOR 'INDESC' VALUE :i … … [端末から入力した動的パラメタ指定の値をSQL記述子域に設定] … } EXEC SQL GET DESCRIPTOR 'OUTDESC' :ocount = COUNT; for( i = 1; i <= ocount; i++ ) { EXEC SQL GET DESCRIPTOR 'OUTDESC' VALUE :i … … [選択リストの情報をSQL記述子域から取得] … EXEC SQL SET DESCRIPTOR 'OUTDESC' VALUE :i … … [SQL記述子域の選択リストの情報を変更] … } EXEC SQL EXECUTE STMID INTO SQL DESCRIPTOR 'OUTDESC' USING SQL DESCRIPTOR 'INDESC'; EXEC SQL GET DESCRIPTOR 'OUTDESC' VALUE :i … … [実行結果の値の取得] … EXEC SQL DEALLOCATE DESCRIPTOR 'INDESC'; EXEC SQL DEALLOCATE DESCRIPTOR 'OUTDESC'; EXEC SQL DEALLOCATE PREPARE STMID; … |
目次
索引
![]() ![]() |