Как правило, SQL предназначен для работы с базами данных. Взаимодействие с объектами операционной системы не так просто сделать. Однако DB2 for i позволит вам запускать программы, в том числе API, для отправки сообщения в очередь данных: QSNDDTAQ. Это безобразно.
call qsnddtaq ('DTAQ ', 'LIBRARY ', x'0008F', 'From SQL')
Параметры:
- Имя очереди данных (10 байт)
- Имя библиотеки очереди данных (10 байт)
- Длина сообщения (упаковано (5,0))
- Содержание сообщения
Если в триггере SQL используются переменные, а не литералы, ему не нужно делать ничего особенного для форматирования длины - показанный литерал - это то, как упакованный (5,0) выглядит внутренне.
Если бы мне было поручено это задание, я бы создал программу CL и вызывал ее, а не API. Тогда я смогу использовать упакованный (15,5) для параметра длины, который является «естественной» длиной межязыкового числа, а также предусмотреть ошибки перехвата.