Icon View Incident Report

Serious Serious
Reported By: Uli Becker
Reported On: 4/7/2008
For: Version 1.09 Build 1
# 2597 Using UDF in First Column of SELECT Statement Used with INSERT Statement Results in Null Values

I tried this part of a Stored Procedure in order to copy some records with the same content but different IDs. When executing the procedure there is a violation of the primary key (it says that NULL-values are not allowed).

PREPARE Stmt FROM
    'insert into posten select ' + cast(GetNewIndex(2) as Varchar) + ' 
as PostenID, '
     + cast(NewRechnungenID as Varchar) + ' as RechnungenID,OrderID, 
Datum, Ziffer, Begruendung,
     Uhrzeit, Faktor, Preis, Summe, Hoechstwert, Anzahl, 
BesondereKosten, Zeitstempel,HoechstwertPreis
     from Posten where RechnungenID = ?';
  Execute Stmt using RechnungenID;

GetNewIndex is this function (short version):

FUNCTION "GetNewIndex" (IN "Tablenumber" INTEGER)
RETURNS INTEGER
BEGIN
DECLARE Result CURSOR FOR Stmt;
DECLARE NewIndex INTEGER DEFAULT -1;

  PREPARE Stmt FROM
    'Update indizes set ID = ID + 1 where Tablenumber = ?';
  Execute Stmt using Tablenumber;
  PREPARE Stmt FROM
    'Select ID from indizes where Tablenumber = ?';
  OPEN Result using Tablenumber;
  Fetch FIRST FROM Result(ID) INTO NewIndex;

RETURN NewIndex;
END



Resolution Resolution
Fixed Problem on 4/8/2008 in version 1.09 build 2


Products Affected Products Affected
ElevateDB Additional Software and Utilities
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial
ElevateDB VCL Client-Server
ElevateDB VCL Client-Server with Source
ElevateDB VCL Standard
ElevateDB VCL Standard with Source
ElevateDB VCL Trial

Image