Condividi
SQL : Update campo3 condizionale a campo1 e campo 2 ciclati
Buongiorno a tutti.
Sono un principiante e non titolato nell'uso di db SQl ma apassionato di vb. Nell'azienda per cui lavoro (in tutt'altra mansione) dovevano recuperare dati inerenti agli schemi dei prodotti finiti rimasti bloccati nel vecchio gestionale(omisiss) dopo essere passati ad uno nuovo(omisiss). Poichè il db era in access, con l'aiuto di un tecnico che conosceva le macchine e quindi mi ha aiutato ad interpretare i campi il gioco è stato sin troppo facile.
Parlando di esplosioni di distinte, nella tabella che conteneva tutti i livelli delle distinte, oltre a campi di cui non menziono, ci sono 1 campo con i codici padre,1 campo con i codici figlio + un campo che ho inserito io e che chiamiamo Subliv. Ora, Subliv dovrà essere popolato per tutti i record (760.000) con il valore 1 se il codice figlio è presente almeno una voltra nel campo codice padre, e 0 se è assente. Ho fatto una sub in vb con un dataset assciato ma mi risulta che ci vorrebbero più di 100 ore di calcolo!!
Spero di essere stato chiaro: in altri termini devo ciclare tutti i record del campo figlio. Verificare per ognuno che siano presenti o meno nel campo padre. Se risposta positiva allora subliv del codice figlio in esame=1 altrimenti subliv=0.
Ciao a tutti e grazie per eventuale risposta...
In Corso
4
MySql
10-09-2019
1 Risposta
1960 Visite
+1
Risposte ( 1 approvate )
Se usi VB.NET allora molto probabilmente stai parlando di Microsoft Sql Server come data source, giusto? Piuttosto che verificare la presenza del codice figlio tramite codice VB, perché non provi a lanciare una T-SQL query che ne verifichi la presenza con una condizione verificata ad hoc e ne setti eventualmente il valore 1 o 0 direttamente sul campo del DB.
Non conosco il db com'è progettato, ne tantomeno si evince bene dalla tua domanda, ma 100 ore mi sembrano troppe, tuttavvia quella che ti ho suggerito mi sembra una strada quantomeno da provare, prova a dare un'occhiata qui: https://docs.microsoft.com/it-it/sql/t-sql/language-elements/if-else-transact-sql?view=sql-server-2017
Spero ti possa essere di aiuto, ciao.