Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC99905 Status: Geschlossen

SELECT INTO STATEMENT DOES NOT SET VALUE TO A GLOBAL VARIABLE

Produkt:
DB2 FOR LUW / DB2FORLUW / A10 - DB2
Problembeschreibung:
SELECT INTO statement does not set value to a global variable as 
below steps. 
 
Problem Reproducible Steps: 
1. $ repro_bad.sh 
   ==> call r01.rowcount( 1 ) returns "COUNT: 0" as below while 
there is one matching row exists at table r01. 
--------------- 
call r01.rowcount( 1 ) 
 
  Return Status = 0 
 
COUNT :0 
--------------- 
 
----- repro_bad.sh ----- 
# 
db2stop 
db2start 
db2 -v create db testdb 
db2 -v connect to testdb 
db2 -v "create table r01(c1 int not null)" 
db2 -v "insert into r01 values(1),(2),(3),(4)" 
db2 -vtd/ -f rowcount_bad.sql 
------------------------ 
 
----- rowcount_bad.sql ----- 
-- test 
SET SERVEROUTPUT ON/ 
 
CREATE OR REPLACE MODULE r01/ 
ALTER MODULE r01 ADD VARIABLE c_c1 INT/ 
ALTER MODULE r01 PUBLISH PROCEDURE rowcount( IN dum INT )/ 
 
ALTER MODULE r01 ADD PROCEDURE rowcount( IN dum INT ) 
MODIFIES SQL DATA 
LANGUAGE SQL 
BEGIN 
--      DECLARE c_c1              INT; 
        DECLARE SQLERRM       VARCHAR(256); 
        DECLARE v_rowcount    INT DEFAULT 0; 
        DECLARE EXIT HANDLER FOR NOT FOUND 
    BEGIN 
        GET DIAGNOSTICS EXCEPTION 1 SQLERRM = MESSAGE_TEXT; 
            call DBMS_OUTPUT.PUT_LINE('NOT FOUND !'||SQLERRM); 
    END; 
 
    SELECT C1 INTO c_c1 FROM r01 
         WHERE C1=2 with rs use and keep update locks; 
 
    GET DIAGNOSTICS v_rowcount = ROW_COUNT; 
        call DBMS_OUTPUT.PUT_LINE('COUNT :'||v_rowcount); 
END 
/ 
 
call r01.rowcount( 1 ) 
/ 
-----------------------------
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DB2 UDB Version 10.1                                         * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to Version 10.1 FixPack 4.                           * 
****************************************************************
Local-Fix:
Instead of global variables, use local variables.
verfügbare FixPacks:
DB2 Version 10.1 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 10.1 Fix Pack 6 for Linux, UNIX, and Windows

Lösung
Problem was first fixed in DB2 UDB Version 10.1 FixPack 4.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
07.03.2014
03.06.2014
03.06.2014
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
10.1.0.4 FixList