|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Sep 2004
Città: Prov. GE
Messaggi: 3421
|
Ciao, puoi usare usare ISNULL()
SELECT ISNULL(campo1, '')+ISNULL(campo2, '') etc. |
|
|
|
|
|
#23 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
value(nomecampo, (valore in caso di campo null) ) il mio problema è scorrere le colonne con un ciclo senza riferire al loto nome, ho tabelle di decine di colonne, e vorrei scorrere per controllare ogni colonna con un'unica istruzione in un ciclo. non esiste un fetch che mi mette tutto in un array?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#24 |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Ho trovato questo in una ricerca google. Usa un cursore e io non me ne intendo, ma forse l'idea di leggere da information_schema non è male:
Codice:
declare col cursor for select column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'NOME_TABELLA' open col fetch next from col into @column_name while @@FETCH_STATUS =0 begin
__________________
|
|
|
|
|
|
#25 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
chi mi vuole dare una mano è ben accetto, potrebbe essere utile anche ad altri prima o poi.
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#26 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
in realtà quando provo la query
select column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'NOME_TABELLA' (con il nome della mia tabella) non mi restituisce nulla... può essere che in db2 sia diverso?
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 Ultima modifica di TorpedoBlu : 11-07-2008 alle 09:31. |
|
|
|
|
|
#27 | |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Quote:
Azz... che ideona: esegui una query DESCRIBE TABLE sulle tabelle di cui vuoi sapere i nomi delle colonne.. quello dovrebbe essere SQL standard!
__________________
|
|
|
|
|
|
|
#28 | |
|
Senior Member
Iscritto dal: Sep 2004
Città: Prov. GE
Messaggi: 3421
|
Quote:
Può essere, in SQL2005 funziona, anche i cursori non so se funzionano in db2 comunque se ho capito quello che vuoi fare, prova questo Codice:
DECLARE @colonna varchar(50), @StrSQL varchar(8000) DECLARE MioCursore CURSOR FOR SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'MiaTabella' Open MioCursore FETCH NEXT FROM MioCursore INTO @Colonna WHILE @@FETCH_Status = 0 BEGIN SET @StrSQL = 'SELECT '+@colonna+' FROM MiaTabella' Exec(@StrSQL) FETCH NEXT FROM MioCursore INTO @Colonna END Close MioCursore Deallocate MioCursore |
|
|
|
|
|
|
#29 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
La strada comunque non e' quella.
Una volta che hai i nomi delle colonne cosa vorresti farci? La strada e' andare su un linguaggio a piu' alto livello, come Python, C#, JAva, etc., interrogare da li' il DB e scrivere da li' l'output XML. Per ottenere il tuo output e' sufficiente una query per ogni tabella. Ma lo stai facendo per lavoro? Non hai un collega che possa indirizzarti? Mi sembra che stia andando un po' alla cieca.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#30 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
dunque sono sulla strada giusta, ma non mi fa l'Exec, forse non c'è in db2...
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#31 | |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Quote:
Si rende inutile anche DESCRIBE TABLE così
__________________
|
|
|
|
|
|
|
#32 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
ho questa Codice:
DO SET ASSEGNI=CONCAT
(ASSEGNI, ('<campo>'||ROW.nomecampo||'</campo>'));
come si fa a fare l'eval della stringa colonna in modo da utilizzarla in nome campo? o meglio come si fa a definire un'istruzione sql attraverso l'interpretazione di una stringa??
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#33 | |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Quote:
http://bytes.com/forum/post2534936-2.html Quindi un bel 'EXECUTE IMMEDIATE'. Altro che EXEC.. Qui si parla di EXECUTE IMMEDIATE....!!! Che roba ragazzi... ps. è bastata una ricerca su google (query+string+exec+db2) ciau...
__________________
|
|
|
|
|
|
|
#34 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
Ci ho provato prima ma non va, mi sa che vuole per forza una query, non capisco.. mi dice che non trova la token assegni
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#35 | |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Quote:
Strano, ma è giusta la stringa sì? Potresti essere più preciso?
__________________
|
|
|
|
|
|
|
#36 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
EXECUTE IMMEDIATE QUERY; giusto per provare ad eseguire una stringa.... mi da errore execute immediate, dicendomi che query è token non previsto
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#37 |
|
Senior Member
Iscritto dal: Feb 2007
Città: Verona
Messaggi: 1060
|
Può essere che QUERY sia un parola riservata e non la puoi utilizzare per i nomi di variabile?? Prova a cambiare nome...
__________________
|
|
|
|
|
|
#38 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
cmq mi dice che non trova ASSEGNI ...
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
|
#39 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
non so, c'è qualcosa che fa a cazzotti, oppure non posso richiamare variabili all'interno della stringa da eseguire... a me non serve eseguire un'isrtuzione.... cavolo mi basterebbe riconoscere una stringa come un nome variabile (un eval(nomecampo) ) e sarei a posto..
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
#40 | |
|
Senior Member
Iscritto dal: Sep 2003
Città: Milano
Messaggi: 4623
|
Quote:
in alternativa se mi trovate un modo per avere un risultato verticale di una select : nomecampo1|valore nomecampo2|valore nomecampo3|valore io poi sono a posto... ma anche qui se ho più righe di risultato....
__________________
Ho trattato con : lahiri, czame, RC, allXXX, dfruggeri, JMM, Paperone, xej, Pappez, iperfly, Red81, Playmake, ryan78, Rob66, XP2200, Peach1200, faberjack, Stewie82, supermario_bros, hft500, Axelscorpio, pipes lee, Piccolospazio, RohanKish, miki66, kabira85 |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:55.




















