所以我有一个调用程序的工具。 工具看起来像这样:
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
参数:
这就是麻烦 - 程序什么都不做。没有错误或其他内容,但所选警报没有更新。
我希望它能像这样工作 - 你选择了许多只有一个有TTID的警报,运行这个工具,在所有其他选定的警报上设置ParentTT = TTID。 OS版本8.1
抱歉我的英文
答案 0 :(得分: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)
在Segererial数组中的整数