0 0

诡异的get diagnostics v_count=ROW_COUNT,坐等回应。15

insert into session.tmp_lvl (pnl_aic,pnl_lvl)
  select a.pnl_dst,max(b.pnl_lvl) + 1
  from   mdr_def.plafmscfg a
  left join session.tmp_lvl b on a.pnl_src = b.pnl_aic
  where not exists (select 1 from session.tmp_lvl c where a.pnl_dst = c.pnl_aic)
  group by a.pnl_dst
  having count(a.pnl_src) = count(b.pnl_aic);
  get diagnostics v_count = ROW_COUNT;


上段SQL在DB2的一段存储过程中,在一个循环体内。这段SQL不断的向session.tmp_lvl这张临时表中插入结果数据。
我想得到每次插入动作的影响记录数做判断。
诡异的是,观察日志看到。v_count每次都是0,最后一次循环似乎又得到了ROW_COUNT.日志如下:(总共循环了8次)
Wed Dec 21 15:27:36.214 V_COUNT:0 TMP_LVL record:34
Wed Dec 21 15:27:37.033 V_COUNT:0 TMP_LVL record:42
Wed Dec 21 15:27:37.833 V_COUNT:0 TMP_LVL record:44
Wed Dec 21 15:27:38.634 V_COUNT:0 TMP_LVL record:45
Wed Dec 21 15:27:39.434 V_COUNT:0 TMP_LVL record:46
Wed Dec 21 15:27:40.253 V_COUNT:0 TMP_LVL record:47
Wed Dec 21 15:27:41.044 V_COUNT:0 TMP_LVL record:48
Wed Dec 21 15:27:41.853 V_COUNT:1 TMP_LVL record:49

Google上搜不到解决方案,请大家帮忙诊断一下,谢谢!
PS:用select count(1) from session.tmp_lvl的替代方案请不要说了
2011年12月21日 15:54
目前还没有答案

相关推荐

    GBase 8a MPP Cluster存储过程异常处理参考手册.pdf

    - **获取DML操作影响的行数**:使用`GET DIAGNOSTICS integer_variable = ROW_COUNT;`来得到受影响的行数。通常有两个方法,一种是在DML语句后立即获取,另一种是在异常处理块内获取。 - **获取错误码、错误状态和...

    如何在容器中显示.exe文件

    get { return exeName; } set { exeName = value; } } private void button1_Click(object sender, EventArgs e) { this.exeName = @"calc.exe"; try { process = System.Diagnostics.Process.Start...

    flvmdi,flv修复工具,针对ffgpeg+mencoder转化后的问题

    System.Diagnostics.ProcessStartInfo flvmdiInfo = new System.Diagnostics.ProcessStartInfo(flvmdi); flvmdiInfo.WindowStyle = ProcessWindowStyle.Normal; flvmdiInfo.Arguments = flv_file; System....

    postgresql存储过程

    GET DIAGNOSTICS v_id = ROW_COUNT; IF v_id > 0 THEN INSERT INTO another_table VALUES ('new_data'); END IF; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; RAISE NOTICE 'An error occurred: %', ...

    asp.net 文件压缩与解压缩

    总之,ASP.NET中利用RAR进行文件压缩和解压缩可以通过调用RAR命令行接口来实现,这通常涉及到读取注册表以获取RAR程序路径,构造合适的命令行参数,然后使用`System.Diagnostics.Process`类启动外部进程。...

    en_iis_diagnostics_x64

    en_iis_diagnostics_x64 英文版

    Diagnostics_Users_Guide

    ### 一、HP Diagnostics 用户手册概览 **HP Diagnostics** 是一款适用于 Windows 和 UNIX 操作系统的诊断软件,版本为 8.00。此用户手册(Manufacturing Part Number: T6227-90004)发布于 2008 年 12 月,提供了...

    F3 Serial Port Diagnostics_seagateportdiag_

    标题"F3 Serial Port Diagnostics_seagateportdiag_"和描述中的"F3 Serial Port Diagnostics PDF"指的是一款由希捷(Seagate)公司提供的串口诊断工具。希捷是一家知名的硬盘制造商,他们为用户提供了这样的工具来...

    DELL_32-BIT-DIAGNOSTICS_5118-3_R212797

    DELL_32-BIT-DIAGNOSTICS_5118-3_R212797

    os生产者消费者实验(c#)

    while (_count == _capacity) // 缓冲区已满,生产者等待 Monitor.Wait(_lock); // 生产并增加计数 _buffer[_count++] = item; Monitor.Pulse(_lock); // 唤醒消费者 } } public int Consume() { int ...

    C#启动外部程序的几种方法.rar_littlewoo_启动外部程序

    1. 使用`System.Diagnostics.Process.Start()`方法 这是最常用的方法,简单且功能强大。`Process.Start()`方法可以启动任何可执行文件,如EXE、批处理文件、文档等,只需传入文件路径即可。例如: ```csharp using ...

    C#调用bat和sql文件实现修改oracle数据库的内存大小

    在C#中,我们可以使用`System.Diagnostics.Process`类来启动和控制外部进程,如运行批处理文件。以下是一个简单的示例,展示如何在C#中调用批处理文件: ```csharp using System.Diagnostics; public void ...

    INTERBUS_Diagnostics_Guide_Interbus_contact_phoenixcontact_diagn

    本文将深入探讨"INTERBUS_Diagnostics_Guide"中的关键知识点,帮助你掌握Phoenix Contact的Interbus诊断技术。 1. **Interbus协议基础**:Interbus协议基于主从结构,主站负责协调网络中的所有从站,确保数据传输的...

    LIN_04_LIN_Diagnostics_Configuration.pdf

    LIN_04_LIN_Diagnostics_Configuration

    Diagnostics_Install_Guide

    ### Diagnostics Install Guide:HPDiagnostics for Windows® and UNIX® Operating Systems #### 一、概述 《Diagnostics Install Guide》是一份针对HPDiagnostics软件的安装与配置指南,该软件适用于Windows和...

    C#利用Winrar压缩解压缩

    总的来说,C#中利用WinRAR进行压缩和解压缩主要依赖于WinRAR提供的命令行接口,并通过`System.Diagnostics.Process`类来执行这些命令。这种方法简单易用,但需要注意的是,它依赖于用户系统上已经安装了WinRAR,并且...

    aps006_part_3_dw1000_diagnostics_for_nlos_channels.pdf

    ### DW1000 Metrics for Estimation of Non-Line-of-Sight Operating Conditions #### 1. 引言 本文档详细介绍了Decawave DW1000芯片在非视距(Non-Line-of-Sight, NLOS)环境下的诊断方法及其相关的性能指标。...

    C#操作excel

    foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses()) { if (p.ProcessName.ToUpper() == "EXCEL") { p.Kill(); } } ``` #### 五、导出数据至Excel 除了基本的数据读写外,...

    Diagnostics_Users_Guide9.2

    根据提供的文件信息,我们可以归纳出一系列与HP Diagnostics User Guide 9.2版本相关的IT知识点。这份指南主要针对Windows和UNIX操作系统,版本为7.50,并且包含了法律声明、版权信息以及文档更新等部分。下面将对...

    Get Process ID.rar_Get processId_get process_process id 4612

    标题“Get Process ID.rar_Get processId_get process_process id 4612”以及描述“each Exe has a unique process id.”都指向了获取和理解进程ID这一核心概念。 进程ID是操作系统用来区分和管理不同进程的主要...

Global site tag (gtag.js) - Google Analytics