som
05-05-2009, 09:13
Salve a tutti,
conosco solo le basi dell'SQL e non ho ben capito se si può fare quello che ho in mente.
I record di una tabella (per come viene compilata) devono rispettare determinate regole:
Se un campo1 ha valore 0 (può assumere solo due valori) devo considerere il valore di altri 2 campi e verificare che al record successivo questi 2 campi abbiano lo stesso valore mentre il campo1 abbia valore 1. Se verifico che la tabella segue questo schema allora non ho avuto "errori" in fase di compilazione.
Ricapitolando in una sorta di pseudo codice, per tutta la tabella dovrei fare qualcosa del genere
If campo1_rec1 = 0
{
valore1 = campoX_rec1,
valore2 = campoY_rec1
If campo1_rec2=0
{
ERRORE
}
ELSE
{
valore1b = campoX_rec2,
valore2b = campoY_rec2
if (( valore1!=valore1b) OR (valore!=valore2b) {
ERRORE
}
}
}
qualcuno mi saprebbe dare qualche dritta su come farlo fare direttamente al db? In alternativa potrei farlo nel mio programma... ma credo sia più performante il DB.
Grazie.
conosco solo le basi dell'SQL e non ho ben capito se si può fare quello che ho in mente.
I record di una tabella (per come viene compilata) devono rispettare determinate regole:
Se un campo1 ha valore 0 (può assumere solo due valori) devo considerere il valore di altri 2 campi e verificare che al record successivo questi 2 campi abbiano lo stesso valore mentre il campo1 abbia valore 1. Se verifico che la tabella segue questo schema allora non ho avuto "errori" in fase di compilazione.
Ricapitolando in una sorta di pseudo codice, per tutta la tabella dovrei fare qualcosa del genere
If campo1_rec1 = 0
{
valore1 = campoX_rec1,
valore2 = campoY_rec1
If campo1_rec2=0
{
ERRORE
}
ELSE
{
valore1b = campoX_rec2,
valore2b = campoY_rec2
if (( valore1!=valore1b) OR (valore!=valore2b) {
ERRORE
}
}
}
qualcuno mi saprebbe dare qualche dritta su come farlo fare direttamente al db? In alternativa potrei farlo nel mio programma... ma credo sia più performante il DB.
Grazie.