È possibile rinominare un vincolo in SQL Server? Non voglio dover cancellare e crearne uno nuovo perché questo vincolo influenza altri vincoli già esistenti e dovrò ricreare/alterare quelli.Rinominare un vincolo in SQL Server?
risposta
è possibile rinominare utilizzando sp_rename utilizzando @objtype = 'OBJECT'
Questo funziona su oggetti elencati in sys.objects che comprende vincoli
È possibile utilizzare sp_rename.
sp_rename 'CK_Ax', 'CK_Ax1'
+1 Questo è ciò che SSMS utilizza quando si rinominano i vincoli. Per un vincolo PK passa 'INDICE' come tipo di oggetto. –
È anche importante notare che i vincoli CHECK, a differenza dei PK, non richiedono un prefisso tabella sul primo parametro 'sp_rename', e falliranno se ne usi uno. – mattmc3
Dopo un po 'di più di scavo, ho scoperto che in realtà ha di essere in questa forma:
EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'
Questa è la risposta più precisa. Gli altri moduli funzionano solo perché molte persone scaricano tutte le loro tabelle nello schema predefinito (di solito "dbo :) e puoi omettere lo schema predefinito. Ma se usi più schemi, questo è corretto (e puoi sempre indicare" dbo ")). – Godeke
risposta è vero:
exec sp_rename
@objname = 'Old_Constraint',
@newname = 'New_Constraint',
@objtype = 'object'
So che questo è una vecchia domanda, ma ho trovato il seguente per essere molto utile, oltre alle altre grandi risposte:
Se il vincolo di essere rinominato ha un periodo in esso (dot), allora avete bisogno di racchiuderlo tra parentesi quadre, in questo modo:
sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'
- 1. Vincolo NULL SQL Server
- 2. Rinominare una stored procedure in SQL Server
- 3. Come creare un vincolo univoco composito in SQL Server 2005
- 4. Problema di vincolo univoco di SQL Server
- 5. MS SQL Server vincolo di tabella croce
- 6. Perché SQL Server continua a creare un vincolo DF?
- 7. nome del database rinominare in sql server management studio 2014
- 8. Come posso verificare se esiste un vincolo di SQL Server?
- 9. Come rinominare una tabella in SQL Server Compact Edition?
- 10. Come verificare se esiste un vincolo nel server Sql?
- 11. Rinominare una colonna in MS SQL Server 2005
- 12. Come rimuovere il vincolo di chiave esterna in sql server?
- 13. Vincolo autoreferenziale in MS SQL
- 14. Come rinominare una tabella nella versione compatta del server sql
- 15. SQL Server vincolo UNIQUE con i NULL duplicati
- 16. SQL Server 2005 Vincolo univoco su due colonne
- 17. È possibile creare un vincolo predefinito denominato in un'istruzione di colonna di aggiunta in SQL Server?
- 18. Rilasciare una colonna con un vincolo predefinito in SQL Server (IF EXISTS)
- 19. Come posso eliminare una tabella se esiste un vincolo di chiave esterna in SQL Server?
- 20. SQL in SQL Server
- 21. Microsoft SQL Compact Edition rinominare la colonna
- 22. In SQL Server 2008 R2: è possibile rinominare una tabella nello strumento Diagramma database?
- 23. Vincoli rimandabili in SQL Server
- 24. Rinominare un file in NERDTREE
- 25. Come rimuovere il vincolo non nullo in sql server utilizzando la query
- 26. RaiseError in SQL Server
- 27. alfanumerica in SQL Server
- 28. Come utilizzare BIT in SQL Server 2005
- 29. in SQL Server
- 30. Arrotondare in SQL Server?
Solo nel caso in cui non si può ottenere questo lavoro, in MSDN - * "Quando si rinomina un vincolo, è necessario specificare lo schema a cui appartiene il vincolo." * –
Per i vincoli PK non è necessario specificare '@objtype = 'OBJECT''. Basta specificare il vecchio nome e il nuovo nome. – pkuderov