try this:
IF EXISTS ( SELECT 'x'
FROM syscolumns
JOIN dbo.sysobjects obj1
ON syscolumns.id = obj1.id
JOIN dbo.sysobjects obj2
ON obj2.id = syscolumns.cdefault
WHERE obj1.id = OBJECT_ID(N'[table_name]') and SYSCOLUMNS.name
='Field_Name')
BEGIN
WHILE EXISTS ( SELECT 'x'
FROM syscolumns
JOIN dbo.sysobjects obj1
ON syscolumns.id = obj1.id
JOIN dbo.sysobjects obj2
ON obj2.id = syscolumns.cdefault
WHERE obj1.id = OBJECT_ID(N'[table_name]]') and
SYSCOLUMNS.name ='Field_Name')
BEGIN
DECLARE @ConstraintName sysname
SELECT TOP 1 @ConstraintName = obj2.name
FROM syscolumns
JOIN dbo.sysobjects obj1
ON syscolumns.id = obj1.id
JOIN dbo.sysobjects obj2
ON obj2.id = syscolumns.cdefault
WHERE obj1.id = OBJECT_ID(N'[table_name]]') and
SYSCOLUMNS.name ='Field_Name'
exec('ALTER TABLE [dbo].[table_name]] DROP CONSTRAINT ['+
@ConstraintName + ']')
END
END
[quoted text, click to view] "Maurice" <hmoviat@nospam.nospam> wrote in message
news:Xns98695B4ECC76Emauricemmoviat@207.46.248.16...
> Hi,
>
> I want to remove a field from a table by using 'ALTER TABLE tblTest DROP
> [TST_Available]'. I got an error message returned that there is a
> constraint on the field (the field has a default value).
>
> How do I programmaticaly check for constraints on a specific field and
> delete them?
>