Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:07:39
|
I took a look at the table script for my PurchaseDownload table.I'm trying to do this which works, but I need to add back in that constraint but not sure of the right syntax to do so.First, what I'm performing is this so far:ALTER TABLE PurchaseDownloadDROP CONSTRAINT [FK_PurchaseDownload_ProductFile]delete from ProductFilewhere ProductID in (select f.ProductID from ProductFile finner join product p ON p.ProductID = f.ProductIDinner join SellerStore s ON s.SellerStoreID = p.SellerStoreIDwhere s.SellerStoreID = 1000and FileName like '%zip%')-- I need to readd that constraint or check back in here to restore itHere's the PurchaseDownload table create script currently:USE [MyDB]GO/****** Object: Table [dbo].[PurchaseDownload] Script Date: 03/12/2007 10:13:10 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[PurchaseDownload]( [PurchaseDownloadID] [bigint] IDENTITY(1,1) NOT NULL, [PurchaseID] [bigint] NOT NULL, [DownloadDate] [datetime] NOT NULL, [IPAddress] [varchar](15) NOT NULL, [BrowserInfo] [varchar](100) NOT NULL, [ProductSourceStatusID] [int] NULL, [CreateDate] [datetime] NOT NULL CONSTRAINT [DF_PurchaseDownload_CreateDate] DEFAULT (getdate()), [CreateUserID] [int] NOT NULL, [UpdateDate] [datetime] NULL, [UpdateUserID] [int] NULL, [Active] [bit] NOT NULL DEFAULT (1), [ProductFileID] [bigint] NULL, CONSTRAINT [PK_PurchaseDownload] PRIMARY KEY CLUSTERED ( [PurchaseDownloadID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_ProductFile]GOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_ProductSourceStatus] FOREIGN KEY([ProductSourceStatusID])REFERENCES [dbo].[ProductSourceStatus] ([ProductSourceStatusID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_ProductSourceStatus]GOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_Purchase] FOREIGN KEY([PurchaseID])REFERENCES [dbo].[Purchase] ([PurchaseID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_Purchase]how can I add that constraint that I dropped back in? |
|
harsh_athalye
Master Smack Fu Yak Hacker
5581 Posts |
Posted - 2007-03-12 : 12:14:04
|
[code]ALTER TABLE PurchaseDownloadADD CONSTRAINT FK_PurchaseDownload_ProductFileFOREIGN KEY (COL1) REFERENCES TABLE2(COL2)[/code]Harsh AthalyeIndia."The IMPOSSIBLE is often UNTRIED" |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:18:18
|
so what do I put in for Col1 and Col2? |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:19:16
|
ALTER TABLE PurchaseDownloadADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID])error: ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_PurchaseDownload_ProductFile'. The conflict occurred in database 'MyDB', table 'ProductFile', column 'ProductFileID'. |
 |
|
harsh_athalye
Master Smack Fu Yak Hacker
5581 Posts |
Posted - 2007-03-12 : 12:23:58
|
You already add back constraint in the script which you posted. See the red portion below:quote: Originally posted by dba123 I took a look at the table script for my PurchaseDownload table.I'm trying to do this which works, but I need to add back in that constraint but not sure of the right syntax to do so.First, what I'm performing is this so far:ALTER TABLE PurchaseDownloadDROP CONSTRAINT [FK_PurchaseDownload_ProductFile]delete from ProductFilewhere ProductID in (select f.ProductID from ProductFile finner join product p ON p.ProductID = f.ProductIDinner join SellerStore s ON s.SellerStoreID = p.SellerStoreIDwhere s.SellerStoreID = 1000and FileName like '%zip%')-- I need to readd that constraint or check back in here to restore itHere's the PurchaseDownload table create script currently:USE [MyDB]GO/****** Object: Table [dbo].[PurchaseDownload] Script Date: 03/12/2007 10:13:10 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[PurchaseDownload]( [PurchaseDownloadID] [bigint] IDENTITY(1,1) NOT NULL, [PurchaseID] [bigint] NOT NULL, [DownloadDate] [datetime] NOT NULL, [IPAddress] [varchar](15) NOT NULL, [BrowserInfo] [varchar](100) NOT NULL, [ProductSourceStatusID] [int] NULL, [CreateDate] [datetime] NOT NULL CONSTRAINT [DF_PurchaseDownload_CreateDate] DEFAULT (getdate()), [CreateUserID] [int] NOT NULL, [UpdateDate] [datetime] NULL, [UpdateUserID] [int] NULL, [Active] [bit] NOT NULL DEFAULT (1), [ProductFileID] [bigint] NULL, CONSTRAINT [PK_PurchaseDownload] PRIMARY KEY CLUSTERED ( [PurchaseDownloadID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_ProductFile]GOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_ProductSourceStatus] FOREIGN KEY([ProductSourceStatusID])REFERENCES [dbo].[ProductSourceStatus] ([ProductSourceStatusID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_ProductSourceStatus]GOALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_Purchase] FOREIGN KEY([PurchaseID])REFERENCES [dbo].[Purchase] ([PurchaseID])GOALTER TABLE [dbo].[PurchaseDownload] CHECK CONSTRAINT [FK_PurchaseDownload_Purchase]how can I add that constraint that I dropped back in?
Harsh AthalyeIndia."The IMPOSSIBLE is often UNTRIED" |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:34:45
|
no, that's just the table script of the existing table (right-clicked the table and create to script). I grab the code from when I did a Create Script off the existing table. It's not working as you can see |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:35:24
|
so in other words, the drop works fine, I tried to grab this and recreate it again after my delete script and it's erroring out as I showed lastALTER TABLE [dbo].[PurchaseDownload] WITH CHECK ADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID]) |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:36:30
|
so, in other words here's my latest script:ALTER TABLE PurchaseDownload (nolock)DROP CONSTRAINT [FK_PurchaseDownload_ProductFile]delete from ProductFile (nolock)where ProductID in (select f.ProductID from ProductFile finner join product p ON p.ProductID = f.ProductIDinner join SellerStore s ON s.SellerStoreID = p.SellerStoreIDwhere s.SellerStoreID = 1000and FileName like '%zip%')ALTER TABLE PurchaseDownloadADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID])Error: ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_PurchaseDownload_ProductFile'. The conflict occurred in database 'MyTable', table 'ProductFile', column 'ProductFileID'.I don't know what the hell this means and why it's complaining when clearly it's the same damn script form the Table script |
 |
|
dba123
Yak Posting Veteran
90 Posts |
Posted - 2007-03-12 : 12:41:20
|
sob, asked our DBA, she put NOCHECK, not sure why I need this butALTER TABLE PurchaseDownload WITH NOCHECKADD CONSTRAINT [FK_PurchaseDownload_ProductFile] FOREIGN KEY([ProductFileID])REFERENCES [dbo].[ProductFile] ([ProductFileID |
 |
|
|
|
|
|
|