QUERY ANOMALA - alcune precisazioni

[login to unmask email]

QUERY ANOMALA - alcune precisazioni
Scusate, dimenticavo di indicare che sono in DB2 V7 e che
In QMF l'estrazione avviene regolarmente senza nessuna segnalazione.
Lo stesso per l'esecuzione batch col DSNTEP2 (non intercettano i return
code positivi?)
Con SPUFI ricevo la segnalazione

SNT404I SQLCODE = 012, WARNING: THE UNQUALIFIED COLUMN NAME NAME WAS
INTERPRETED AS A CORRELATED REFERENCE
SNT418I SQLSTATE = 01545 SQLSTATE RETURN CODE
SNT415I SQLERRP = DSNXORSO SQL PROCEDURE DETECTING ERROR
SNT416I SQLERRD = 0 0 0 1128460762 0 0 SQL DIAGNOSTIC INFORMATION
SNT416I SQLERRD = X'00000000' X'00000000' X'00000000' X'4342F1DA'
X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION

e poi vengono estratti i dati.

Il problema maggiore lo incontrerei nei programmi applicativi.
Facendo una prova mirata succede che il BIND passa tranquillamente
indicando sqlcode 12.
L'esecuzione della select nel programma poi funziona perfettamente:

DSNX105I + BIND SQL WARNING
USING SYSIBM AUTHORITY
PLAN=(NOT APPLICABLE)
DBRM=DBAPERF0
STATEMENT=196
SQLCODE=12
SQLSTATE=01545
TOKENS=NAME

DSNT232I + SUCCESSFUL BIND FOR
PACKAGE = DBTADDF.COMLML02.DBAPERF0.()


L'interpretazione del SQL 012 equivarrebbe a scrivere una query come
questa:
SELECT D.* FROM SYSIBM.SYSDATABASE D
WHERE D.NAME IN
( SELECT D.NAME FROM SYSIBM.SYSDUMMY1 A)

Ma una query scritta così vi sembra sintatticamente corretta?


Saluti


----- Inoltrato da MARCELLO ABBRUZZESE/BNL Multiservizi il 15/02/2005 11:28
-----

MARCELLO
ABBRUZZESE Per: [login to unmask email]
Cc:
15/02/2005 11:10 Oggetto: QUERY ANOMALA





Buongiorno a tutti.
Non so se il problema che pongo puo' essere considerato un BUG:

Eseguendo la query sottostante

SELECT * FROM SYSIBM.SYSDATABASE
WHERE NAME IN
( SELECT NAME FROM SYSIBM.SYSDUMMY1)

io mi aspetto che si blocchi e mi dica che la colonna NAME non esiste sulla
tabella sysibm.sysdummy1.
Invece va avanti e mi restituisce il result set completo !

E' capitato ad un applicativo, che erroneamente aveva sbagliato il nome
della colonna nella subquery, e casualmente
la colonna aveva lo stesso nome nel predicato di uguaglianza della query
esterna.

A qualcuno è capitato lo stesso?
Ringrazio anticipatamente tutti per l'eventuale aiuto e saluto
cordialmente
Grazie


___________________________________________
Marcello Abbruzzese
Direz. Operations - Servizio Sistemi Informativi
Service Management Centre - Attività Systems
___________________________________________
Banca Nazionale del Lavoro S.p.A.
20159 Milano - Via B. Crespi, 26
Tel +39 02 802 45166
E-mail: [login to unmask email]

---------------------------------------------------------------------------------
Benvenuti alla lista DB2 User Group Italia.Per annullare l ' iscrizione collegarsi a : http://www.idugdb2-l.org/archives/DB2-UG-Italy.html. Selezionare "Join or Leave the list". Per consultare le IDUG Listserv FAQ collegarsi a :http://www.idugdb2-l.org. L'amministratore della lista DB2 User Group - Italy può essere raggiunto al seguente indirizzo: [login to unmask email] Per sapere le ultime novità sulle conferenze IDUG potete consultare : http://conferences.idug.org/index.cfm