如何在AS400中创建由SQL触发器触发的数据队列?

Tot*_*.js 1 sql queue triggers ibm-midrange

我需要创建一个由我的SQL Trigger触发的数据队列; SQL触发器已经完成,但我不知道如何实现数据队列

Buc*_*bro 5

通常,SQL旨在对数据库起作用.与操作系统对象交互并不容易.但是,DB2 for i将允许您执行程序,包括用于将消息发送到数据队列的API:QSNDDTAQ.这很难看.

call qsnddtaq ('DTAQ      ', 'LIBRARY   ', x'0008F', 'From SQL')
Run Code Online (Sandbox Code Playgroud)

参数是:

  1. 数据队列名称(10个字节)
  2. 数据队列库名称(10个字节)
  3. 消息长度(打包(5,0))
  4. 消息内容

如果SQL触发器使用变量而不是文字,则不需要做任何特殊的格式化长度 - 显示的文字就是内部包装(5,0)的样子.

如果我被分配了这个任务,我会创建一个CL程序并调用它而不是API.然后我就可以使用packed(15,5)作为长度参数,这是"自然的"跨语言数字长度以及提供捕获错误.