>Hi,
>
>I have been looking on various sites for the code to drop a constraint if I know the name of the constraint. Each site has a different code. I am confused. I would like something that would work on SQL Server 2005 and SQL Server 2008. What would you recommend?
>
>TIA.
>
>UPDATE. This is the code that works on my SQL Server 2008. Does it look like the right one?:
>
>
>IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[FK_table_name_fk_field]')
> AND parent_object_id = OBJECT_ID(N'[dbo].[table_name]'))
> BEGIN
> ALTER TABLE [dbo].[table_name]
> DROP CONSTRAINT [FK_table_name_fk_field]
> END
>
I don't think you need an extra check for parent_object_id. I believe the constraint names should be unique across database, not table wise (I'm going to test this quickly).
OK, I verified - the constraint name must be unique in the database.
If it's not broken, fix it until it is.
My Blog