martim07 Posted March 25, 2012 at 05:19 PM Report #445595 Posted March 25, 2012 at 05:19 PM Olá a todos, eu preciso eliminar todos os Constraints de uma tabela e não sei como fazer. Eu não queria eliminar um a um a partir do seu nome, pois este nome varia conforme as instâncias que tenho instaladas. Estou a usar vb6 e SQL Server 2005 Express. Cumprimentos a todos.
renafi Posted March 26, 2012 at 08:46 AM Report #445674 Posted March 26, 2012 at 08:46 AM Experimenta: Alter Table xxx nocheck constraint all Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist
martim07 Posted March 26, 2012 at 09:43 AM Author Report #445681 Posted March 26, 2012 at 09:43 AM Não funciona! Eles continuam lá e não consigo alterar o tipo do campo. Eu preciso mesmo de liminar todos. Cumprimentos.
renafi Posted March 26, 2012 at 12:24 PM Report #445703 Posted March 26, 2012 at 12:24 PM Eu percebi que querias só desligar as constraints... Então tens de fazer código T-Sql DECLARE @database NVARCHAR(50) DECLARE @table NVARCHAR(50) DECLARE @sql NVARCHAR(255) SET @database = ‘DB_MyDatabase’ SET @table = ‘Employee’ WHILE EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=@database AND table_name=@table) BEGIN SELECT @sql = ‘ALTER TABLE ‘ + @table + ‘ DROP CONSTRAINT ‘ + CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=@database AND table_name=@table EXEC sp_executesql @sql END Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist
martim07 Posted March 26, 2012 at 03:09 PM Author Report #445731 Posted March 26, 2012 at 03:09 PM Executei esta query (SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=@database AND table_name=@table) e não trouxe nada. Mas vou pelo management e tenho lá! O que será?
martim07 Posted March 26, 2012 at 05:35 PM Author Report #445750 Posted March 26, 2012 at 05:35 PM Já resolvi. utilizei parte desta query para chegar lá: SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint, SCHEMA_NAME(schema_id) AS SchemaName, OBJECT_NAME(parent_object_id) AS TableName, type_desc AS ConstraintType FROM sys.objects WHERE type_desc LIKE '%CONSTRAINT' Obrigado pela ajuda.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now