Hi!
I am using Red Gate SQL Bundle and the .NET components.
I'm however having a problem while updating a database, after I have modified a new column to a table which already contains data.
The column "ProvTeilungstag" has been modified not to accept null values, and I assigned a default value to it. (This worked in Enterprise manager or Query Analyzer, although the table already contains data).
Here's the new table
if exists (select * from dbo.sysobjects where id = object_id(N'[Institute]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [Institute]
GO
CREATE TABLE [Institute] (
[Institut] [int] IDENTITY (1, 1) NOT NULL ,
[Institutsname] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Land] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[BLZ] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Memo] [varchar] (8000) COLLATE Latin1_General_CI_AS NULL ,
[Strasse] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Ort] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Telefonnummer] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Faxnummer] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Email] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Homepage] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[KAG] [bit] NOT NULL ,
[Kurzzeichen] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[ProvVerzAbschlT] [smallint] NULL ,
[ProvVerzAbschlM] [smallint] NULL ,
[ProvVerzBestandT] [smallint] NULL ,
[ProvVerzBestandM] [smallint] NULL ,
[ProvVerzFolgeT] [smallint] NULL ,
[ProvVerzFolgeM] [smallint] NULL ,
[PartnerInst] [bit] NOT NULL ,
[Rolloverstart] [smalldatetime] NULL ,
[ProvVerzIndexT] [int] NULL ,
[ProvVerzIndexM] [int] NULL ,
[Briefanrede] [varchar] (70) COLLATE Latin1_General_CI_AS NULL ,
[LKZ] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[ProvTeilungstag] [int] NOT NULL CONSTRAINT [DF_Institute_ProvTeilungstag] DEFAULT (0),
[MaklerNr] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL CONSTRAINT [DF_Institute_MaklerNr] DEFAULT (''),
[Detail] [bit] NULL CONSTRAINT [DF_Institute_Detail] DEFAULT (0),
[BestandStichtag] [datetime] NULL ,
[BestandInterval] [int] NULL ,
CONSTRAINT [PK_Institute_1] PRIMARY KEY CLUSTERED
(
[Institut]
) WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY]
GO
(the ProvTeilungstag column has been added)
Here's the old table:
if exists (select * from dbo.sysobjects where id = object_id(N'[Institute]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [Institute]
GO
CREATE TABLE [Institute] (
[Institut] [int] IDENTITY (1, 1) NOT NULL ,
[Institutsname] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Land] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[BLZ] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Memo] [varchar] (8000) COLLATE Latin1_General_CI_AS NULL ,
[Strasse] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Ort] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Telefonnummer] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Faxnummer] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Email] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[Homepage] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[KAG] [bit] NOT NULL ,
[Kurzzeichen] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[ProvVerzAbschlT] [smallint] NULL ,
[ProvVerzAbschlM] [smallint] NULL ,
[ProvVerzBestandT] [smallint] NULL ,
[ProvVerzBestandM] [smallint] NULL ,
[ProvVerzFolgeT] [smallint] NULL ,
[ProvVerzFolgeM] [smallint] NULL ,
[PartnerInst] [bit] NOT NULL ,
[Rolloverstart] [smalldatetime] NULL ,
[ProvVerzIndexT] [int] NULL ,
[ProvVerzIndexM] [int] NULL ,
[Briefanrede] [varchar] (70) COLLATE Latin1_General_CI_AS NULL ,
[LKZ] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[ProvTeilungstag] [int] NULL ,
[MaklerNr] [varchar] (50) COLLATE Latin1_General_CI_AS NOT NULL CONSTRAINT [DF_Institute_MaklerNr] DEFAULT (''),
[Detail] [bit] NULL CONSTRAINT [DF_Institute_Detail] DEFAULT (0),
[BestandStichtag] [datetime] NULL ,
[BestandInterval] [int] NULL ,
CONSTRAINT [PK_Institute_1] PRIMARY KEY CLUSTERED
(
[Institut]
) WITH FILLFACTOR = 90 ON [PRIMARY] ,
CONSTRAINT [FK_Institute_LKZ] FOREIGN KEY
(
[LKZ]
) REFERENCES [LKZ] (
[Kurz]
) ON UPDATE CASCADE
) ON [PRIMARY]
GO
Here's the generated script which
fails:
...
GO
ALTER TABLE [dbo].[Institute] ALTER COLUMN [ProvTeilungstag] [int] NOT NULL
GO
...
SQL Compare seems to have forgotten to add the DEFAULT keyword. Are there any fixes / workarounds for this?
Regards
I am using Red Gate SQL Bundle and the .NET components.
I'm however having a problem while updating a database, after I have modified a new column to a table which already contains data.
The column "ProvTeilungstag" has been modified not to accept null values, and I assigned a default value to it. (This worked in Enterprise manager or Query Analyzer, although the table already contains data).
Here's the new table
(the ProvTeilungstag column has been added)
Here's the old table:
Here's the generated script which fails:
SQL Compare seems to have forgotten to add the DEFAULT keyword. Are there any fixes / workarounds for this?
Regards