Comment puis-je supprimer toutes les contraintes par défaut appartenant à une table particulière dans SQL 2005?Comment puis-je supprimer toutes les contraintes de contraintes par défaut sur une table
Répondre
Une solution from a search: (sous la direction des contraintes par défaut)
SET NOCOUNT ON
DECLARE @constraintname SYSNAME, @objectid int,
@sqlcmd VARCHAR(1024)
DECLARE CONSTRAINTSCURSOR CURSOR FOR
SELECT NAME, object_id
FROM SYS.OBJECTS
WHERE TYPE = 'D' AND @objectid = OBJECT_ID('Mytable')
OPEN CONSTRAINTSCURSOR
FETCH NEXT FROM CONSTRAINTSCURSOR
INTO @constraintname, @objectid
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @sqlcmd = 'ALTER TABLE ' + OBJECT_NAME(@objectid) + ' DROP CONSTRAINT ' + @constraintname
EXEC(@sqlcmd)
FETCH NEXT FROM CONSTRAINTSCURSOR
INTO @constraintname, @objectid
END
CLOSE CONSTRAINTSCURSOR
DEALLOCATE CONSTRAINTSCURSOR
La modification de OBJECT_NAME en PARENT_OBJECT_NAME a bien fonctionné. –
Bonne requête. Je voudrais faire une correction si. La déclaration du curseur doit être: SELECT NAME, parent_object_id FROM SYS.OBJECTS WHERE TYPE = 'D' ET parent_object_id = OBJECT_ID ('Mytable') –
Juste pourquoi voulez-vous faire? La suppression des contraintes est une action assez drastique qui affecte tous les utilisateurs, pas seulement votre processus. Peut-être que votre problème peut être résolu d'une autre manière. Si vous n'êtes pas le dba du système, vous devriez réfléchir très sérieusement à savoir si vous devriez le faire. (Bien sûr, dans la plupart des systèmes, un dba n'autoriserait personne d'autre à faire une telle chose.)
J'utilise plusieurs champs qui doivent prendre en charge Unicode et je ne trouve pas d'autre moyen de Ce faisant. donc je suis en train de changer le type de données des colonnes et en train de supprimer les contraintes et de les créer à nouveau ... –
Je sais que c'est ancien, mais je l'ai trouvé lors de la recherche sur Google. Une solution qui fonctionne pour moi dans SQL Server 2008 (pas sûr 2005) sans avoir recours à des curseurs est ci-dessous:
declare @sql nvarchar(max)
set @sql = ''
select @sql = @sql + 'alter table YourTable drop constraint ' + name + ';'
from sys.default_constraints
where parent_object_id = object_id('YourTable')
AND type = 'D'
exec sp_executesql @sql
Ceci supprime seulement la première contrainte trouvée (du moins c'est ce que ça m'a fait). Vous devez itérer à travers chacun d'eux. –
@Ioana Marcu: Fonctionne pour moi sur une base de données SQL 2008. Je reçois une chaîne semblable à ci-dessous pour la table appelée 'Compte' alter table Contrainte de dépôt de compte DF__Account__Account__4865BE2A; alter table Contrainte de dépôt de compte DF__Account__Account__4959E263 c'est-à-dire un groupe d'instructions drop concaténées – PabloInNZ
- 1. Grails contraintes par défaut
- 2. Comment supprimer toutes les contraintes de clé étrangère sur une table dans Sql Server 2000?
- 3. Est-il possible de supprimer toutes les contraintes de clé étrangère sur une table à la fois dans mySQL 5?
- 4. Contraintes SQLServer2000
- 5. Comment puis-je désactiver temporairement toutes les contraintes dans une table dans Firebird 2.1?
- 6. SQL Server 2005, le besoin de script pour vérifier toutes les contraintes sur la table
- 7. Héritage de table: application de contraintes uniques sur des partitions?
- 8. Contraintes FK de table de mappage Mysql
- 9. Où mettre les valeurs par défaut et les contraintes uniques, le code ou le serveur SQL?
- 10. Génériques: les contraintes sur les types nullables
- 11. Clés et contraintes primaires
- 12. Contraintes SQL Question
- 13. Suppression de contraintes sans nom
- 14. C# Generics - Contraintes sur les paramètres de type
- 15. sql contraintes uniques et de réglage sur les insertions
- 16. SqlBulkInsert - Comment définir les déclencheurs d'incendie, vérifier les contraintes?
- 17. Sql Server Ce 3.5 Vérifier les contraintes
- 18. Contraintes sur l'ID de message SMTP?
- 19. déclaration Interface avec les contraintes génériques
- 20. Ajout de contraintes à une propriété d'interface
- 21. J'ai des problèmes avec les contraintes de MySQL
- 22. Comment les contraintes DataTable ADO.NET affectent-elles les performances?
- 23. Besoin d'aide dans les contraintes clés uniques
- 24. Contraintes dans google-app-engine?
- 25. comment générer une matrice définie positive pseudo-aléatoire avec des contraintes sur les éléments hors-diagonaux?
- 26. Vérificateur des contraintes de codage?
- 27. Contraintes déportables dans SQL Server
- 28. comportement étrange avec contraintes génériques sur une méthode d'extension
- 29. résolution des contraintes étrangères entre les tables connectées
- 30. contraintes clés étrangères alors que les données de dumping
J'ai supprimé ma réponse car je ne suis pas sûr à 100% et je ne suis pas en mesure de tester. – Peter
Votre propre solution semble ok, non? – Peter