Hi all,
the result of the update statement below is zero. That is not the value I realy expected (-3).
Does anyone have an explanation?
SET SCHEMA=SESSION;
DECLARE GLOBAL TEMPORARY TABLE T(A INTEGER);
INSERT INTO T VALUES(99);
SELECT * FROM SESSION.T;
SELECT -(SELECT 3 FROM SYSIBM.SYSDUMMY1 )
FROM SYSIBM.SYSDUMMY1;
UPDATE T
SET A= -(SELECT 3 FROM SYSIBM.SYSDUMMY1 )
;
SELECT * FROM SESSION.T;
SPUFI output
============
SELECT * FROM SESSION.T;
---------+---------+---------+---------+---------+---------+
SET SCHEMA=SESSION;
---------+---------+---------+---------+---------+---------+
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+
DECLARE GLOBAL TEMPORARY TABLE T(A INTEGER);
---------+---------+---------+---------+---------+---------+
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+
INSERT INTO T VALUES(99);
---------+---------+---------+---------+---------+---------+
DSNE615I NUMBER OF ROWS AFFECTED IS 1
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+
SELECT * FROM SESSION.T;
---------+---------+---------+---------+---------+---------+
A
---------+---------+---------+---------+---------+---------+
99
DSNE610I NUMBER OF ROWS DISPLAYED IS 1
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100
---------+---------+---------+---------+---------+---------+
SELECT -(SELECT 3 FROM SYSIBM.SYSDUMMY1 )
FROM SYSIBM.SYSDUMMY1;
---------+---------+---------+---------+---------+---------+
---------+---------+---------+---------+---------+---------+
-3
DSNE610I NUMBER OF ROWS DISPLAYED IS 1
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100
---------+---------+---------+---------+---------+---------+
UPDATE T
SET A= -(SELECT 3 FROM SYSIBM.SYSDUMMY1 )
;
---------+---------+---------+---------+---------+---------+
DSNE615I NUMBER OF ROWS AFFECTED IS 1
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
---------+---------+---------+---------+---------+---------+
SELECT * FROM SESSION.T;
---------+---------+---------+---------+---------+---------+
A
---------+---------+---------+---------+---------+---------+
0
DSNE610I NUMBER OF ROWS DISPLAYED IS 1
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 100
---------+---------+---------+---------+---------+---------+
Thanks.
------------------------------
Peter Hartig
------------------------------
#Db2forz/OS