home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
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 IT00585 Status: Geschlossen

SELECT INTO STATEMENT DOES NOT SET VALUE TO A GLOBAL VARIABLE

Produkt:
DB2 FOR LUW / DB2FORLUW / A50 - 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.5                                         * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to Version 10.5 FixPack 4.                           * 
****************************************************************
Local-Fix:
Instead of global variables, use local variables.
verfügbare FixPacks:
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows
DB2 Version 10.5 Fix Pack 9 for Linux, UNIX, and Windows

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