この例は、外部キューにメッセージを書き込むCのスカラーUDF write_mqを作成します。この関数はMQアクセス モジュールを呼び出します。これは、TPumpジョブまたは他のユーティリティがキューからの処理を行なうときに使用するのと同一のモジュールです。
このSQLは、選択リストにスカラーUDFとそれが必要とする引数しか入っていない、単純なSELECTリクエストです。このリクエストが実行されると、'Hello World'というメッセージが生成され、クライアントのMQキューに置かれます。
SELECT WriteMQ('queue.manager.1','QUEUE1','CHANNEL1/TCP/ 153.64.119.177', 'Hello World');
渡されるパラメータはそれぞれ、キュー マネージャ(qmgr)、キュー名(qnm)、クライアント通信チャネル(channel)、およびメッセージそのもの(vcmsg)です。
以下は、関数の作成に使用されるDDLです。
CREATE FUNCTION write_mq( qmgr VARCHAR(256), qnm VARCHAR(256), channel VARCHAR(256), vcmsg VARCHAR(32000)) RETURNS INTEGER LANGUAGE C NO SQL PARAMETER STYLE SQL EXTERNAL NAME 'F:emruwmq:SI:cmqc:/usr/include/cmqc.h:SL:mqic :SL:mqmcs:SS:emruwmq:/home/rmh/projects/emruwmq/emruwmq.c';