Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

ALTER TABLE su colonna dipendente

Credo che prima dovrai eliminare i vincoli della chiave esterna. Quindi aggiorna tutte le tabelle appropriate e rimappale come erano.

ALTER TABLE [dbo.Details_tbl] DROP CONSTRAINT [FK_Details_tbl_User_tbl];
-- Perform more appropriate alters
ALTER TABLE [dbo.Details_tbl] ADD FOREIGN KEY (FK_Details_tbl_User_tbl) 
    REFERENCES User_tbl(appId);
-- Perform all appropriate alters to bring the key constraints back

Tuttavia, a meno che la memoria non sia un grosso problema, manterrei l'identità come INT. A meno che tu non sia sicuro al 100% che le tue chiavi non supereranno mai i vincoli TINYINT. Solo un avvertimento :)