Ciao
Sono nuovo del forum e volevo porre una domanda
Devo creare una select di controllo del tipo select count(*) from [tab] where... per controllare l'integrità referenziale tra 2 tabelle con più campi collegati.
Mi spiego meglio con un esempio:
TABELLAa (TaC1, TaC2, TaC3, Tac4, TaC5)
TABELLAb (TbC1, TbC2, TbC3, Tbc4, TbC5)
I Campi TbC1, TbC2, TbC3 sono chiavi esterne della tabella a rispettivamente TaC1, TaC2, TaC3.
Creare una select dell tipo
- SELECT COUNT(*) FROM TABELLAb WHERE TbC1 NOT IN (SELECT TaC1 from TABELLAa)
- SELECT COUNT(*) FROM TABELLAb WHERE TbC2 NOT IN (SELECT TaC2 from TABELLAa)
- SELECT COUNT(*) FROM TABELLAb WHERE TbC3 NOT IN (SELECT TaC3 from TABELLAa)
Non controlla correttamente l'integrità referenziale perchè controlla i singoli campi.
Riesco con una sola istruzione ad estraolare il numero di righe della TABELLAb che non rispettano l'integrità?
Grazie
Corti