代码之家  ›  专栏  ›  技术社区  ›  Brian Deterling

如何将生成的密钥从执行插入的DB2存储过程返回给JDBC?

  •  1
  • Brian Deterling  · 技术社区  · 16 年前

    4 回复  |  直到 16 年前
        1
  •  1
  •   Fred Sobotka Fred Sobotka    16 年前

    也可以从插入中选择:

    SELECT pkey FROM FINAL TABLE (INSERT INTO tab(a, b, c, d) VALUES ... )
    
        2
  •  0
  •   mjn anonym    16 年前

    create procedure proc1(
    IN in_val
    )
    language sql
    dynamic result sets 1
    
    BEGIN
    -- do insert
    
    BEGIN
    DECLARE c_out CURSOR WITH RETURN TO CLIENT FOR
      select max(key) as inserted_key from table where val = in_val
    FOR READ ONLY;
    
    OPEN c_out;
    END;
    
    END;
    

    您可能可以使用identity val local将select替换为“从sysibm.sysdummy1中选择identity val local()”。我似乎无法让下划线在markdown中工作,但希望这是清楚的。

        3
  •  0
  •   weiyin    16 年前

    在DB2/400上,似乎是IDENTITY_VAL_LOCAL()函数,它返回标识列的最新分配值。

    http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/r0004231.htm

        4
  •  0
  •   kishore    16 年前