>E' fattibile uscirne senza modificare i vincoli?
Si
Non mi è chiara la struttura della tabella C
ricapitolo quello che ho capito
___ A
idUtente ----- Numerico --- PK
idProgetto --- Numerico --- PK
anno --------- Numerico --- PK
___ C
idProgetto --- Numerico --- PK
anno --------- Numerico --- PK
idSiglia ----- Numerico --- PK
___ B
idRisultato -- Numerico --- PK
idUtente ----- Numerico --- fk con A
idProgetto --- Numerico --- fk con A e C
anno --------- Numerico --- PK con A e C
idSiglia ----- Numerico --- PK con C
dataInsert --- Data
Vuoi modificare il campo idProgetto in A
( e per deduzione anche in B e C )
immaginiamo che il 22 vuoi farlo diventare 220
allora con 5 query di comando a catena potresti farlo
tieni presente che è una procedura "pesante"
che oltre a UPDATARE deve fare anche INSERT e DELETE
NB: Testato su Access(ino) ma ritengo che
ti funziona tranquillamente anche su SQLServer
magari 2 variabili e una Stored che ti fa tutto insieme ......
INSERT INTO A ( idUtente, idProgetto, anno )
SELECT A.idUtente, 220 AS xxx, A.anno
FROM A
WHERE (A.idProgetto=22);
INSERT INTO C ( idProgetto, anno, idSoglia )
SELECT 220 AS xxx, C.anno, C.idSoglia
FROM C
WHERE (C.idProgetto=22);
UPDATE B SET B.idProgetto = 220
WHERE (B.idProgetto=22);
DELETE * FROM A
WHERE (A.idProgetto=22);
DELETE * FROM C
WHERE (C.idProgetto=22);
Poi: .........
Vuoi modificare il campo idSoglia in B
Vediamo prima se puo andare bene quanto sopra
Facci sapere