1 messaggio dal 30 gennaio 2006
 Ciao a tutti, spero di scrivere in modo chiaro e sopratutto nel posto giusto, ho un problema di questo genere:

-Ho un database SQL composto da X tabelle e N campi in ogni tabella

All'interno di piu' tabelle sono contenuti campi uguali ( che si chiamano nello stesso modo )

All'interno di questi campi sono presenti dati che dovrebbero variare ex: da TE.12345.X.0000A dovrebbero diventare TE.12345.Y.0000A
>> Cambia solo 1 carattere <<<

Il problema è che questo cambio dovrebbe avvenire in TUTTE le tabelle dov'è contenuto l'TE.12345.X.0000A

esiste un sistema per dire al buon database SQl:

In amicizia lo chiederei cosi':

Caro database vorrei che tutti i Codici TE.12345.X.0000A che contieni ( non importa dove ) devono diventare TE.12345.Y.0000A Grazie arrivederi


Ciao grazie 1000
Ivan

Iv@n
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
ivan.team ha scritto:
[quoteAll'interno di piu' tabelle sono contenuti campi uguali ( che si chiamano nello stesso modo )

All'interno di questi campi sono presenti dati che dovrebbero variare ex: da TE.12345.X.0000A dovrebbero diventare TE.12345.Y.0000A


DECLARE @schema sysname,
@tabella sysname,
@sql varchar (512)

DECLARE cursore CURSOR FOR
SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'au_id'

OPEN cursore
FETCH NEXT FROM cursore INTO @schema, @tabella

WHILE @@FETCH_STATUS <> -1
BEGIN
SET @sql = 'UPDATE ' + @schema + '.' + @tabella + ' SET campo = nuovovalore WHERE campo = vecchiovalore'
EXEC (@sql)
FETCH NEXT FROM cursore INTO @schema, @tabella
END

CLOSE cursore
DEALLOCATE cursore

Bye

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.