0

所以我有一个调用程序的工具。工具看起来像这样:

call Attach_test('select TTID from alerts.status where Class in (73000,8891) and to_int(TTID) > 0 and ServerSerial in ($selected_rows.Serial)',[ $selected_rows.Serial ]); flush iduc;

它应该获得 TTID(该字段只有许多选定警报之一)和选定警报的服务器序列数组。然后将所有这些数据传输到 SQL 过程,如下所示:

declare
tempservser integer; k integer;
begin
for k = 1 to array_len(serserial) do
    begin
        set tempservser = serserial[k];
        update alerts.status set ParentTT = parentttid, TTFlag = 2 where ServerSerial = tempservser and TTID = '' ; 
    end;
end

参数:

  • parentttid字符(11)
  • Integer的串行数组中

麻烦来了——程序什么也不做。没有错误或其他东西,但所选警报没有更新。

我希望它像这样工作-您选择许多警报,其中只有一个具有 TTID,运行此工具,在每个其他选定警报上设置 ParentTT = TTID。操作系统版本。8.1

对不起我的英语不好

4

1 回答 1

0

我想出了如何做到这一点:

工具

call AttachSelectedToTTID([ $selected_rows.Serial ],[ $selected_rows.ParentTT ]);
flush iduc;

程序

declare
tempservser integer; k integer;n integer;partt char(15);
begin
for n = 1 to array_len(ttid) do 
    begin
        if (ttid[n] != '' ) then
            set partt = ttid[n];
        end if;
    end;
for k = 1 to array_len(serserial) do
    begin
        set tempservser = serserial[k];
        update alerts.status set ParentTT = partt,TTFlag = 2 where Serial = tempservser and TTID = '';  
    end;
end

参数:

  • 在 Char(15) 的 ttid 数组中

  • 在 Integer 的串行数组中

于 2016-11-02T13:57:21.403 回答