What I am trying to accomplish: Marketing uses a sql server 2000 database named Purchase Orders. This is to document employee purchases within two tables going back only 1 year. Marketing wants to have the incremental key of the purchase orders to start again at 1 for the new year. As far as my knowledge goes, I'm assuming this is not possible to just delete the records to have the incremental key start again at one (table needs to be recreated).
How I tried to accomplish this:
1. I used the Generate SQL Script "Create To" option on the original table to CREATE a historical table so that we may go back for last years records
2. I tried to INSERT the values from the original table into the new table
3. I tried to DROP the original table (so that I may recreate it again with the correct indexes, keys, ect. )
4. I tried to again CREATE the original table so that marketing could again start with an incremental key of 1
Problem: I tried doing this all in one query, and didn't get any further than the first step (creating the two new tables). I didn't realize this until I tried to open the new tables and they faild to populate. Also, the tables I wanted droped were still there and populated. The query completed successfully, however it stated (0 row(s) affected)
Code:
CREATE TABLE [dbo].[tblLYPurchaseOrderP
roductsTST
] (
[PONum] [int] NOT NULL ,
[ProductID] [int] IDENTITY (1, 1) NOT NULL ,
[ProductDesc] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NOT NULL ,
[ProductQuantity] [int] NOT NULL ,
[ProductPrice] [decimal](18, 2) NOT NULL ,
[Materials] [decimal](18, 2) NOT NULL ,
[Labor] [decimal](18, 2) NOT NULL ,
[OrderDate] [smalldatetime] NULL ,
[EmployeeNum] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[tblLYPurchaseOrders
TST] (
[PONum] [int] IDENTITY (1, 1) NOT NULL ,
[SupplierNum] [int] NOT NULL ,
[WarehouseNum] [int] NOT NULL ,
[FreightCharge] [decimal](18, 2) NOT NULL ,
[MiscSurchargePercent] [decimal](18, 2) NOT NULL ,
[MiscSurchargeCurrency] [decimal](18, 2) NOT NULL ,
[DiscountPercent] [decimal](18, 2) NOT NULL ,
[DiscountCurrency] [decimal](18, 2) NOT NULL ,
[FrequencyType] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[Comments] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[EntryDate] [datetime] NULL ,
[EmployeeNum] [int] NOT NULL ,
[ArrivalDate] [datetime] NULL ,
[DeptID] [int] NULL ,
[SalesTax] [decimal](18, 2) NOT NULL ,
[ShipToName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToAddress] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToAddress2] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToCity] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToState] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToZip] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblLYPurchaseOrderP
roductsTST
] WITH NOCHECK ADD
CONSTRAINT [PK_tblLYPurchaseOrderProd
uctsTST] PRIMARY KEY CLUSTERED
(
[ProductID]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblLYPurchaseOrders
TST] WITH NOCHECK ADD
CONSTRAINT [PK_tblLYPurchaseOrdersTST
] PRIMARY KEY CLUSTERED
(
[PONum]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblLYPurchaseOrderP
roductsTST
] ADD
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_Pr
odQuantity
] DEFAULT (0) FOR [ProductQuantity],
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_Pr
odPrice] DEFAULT (0) FOR [ProductPrice],
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_Ma
terials] DEFAULT (0) FOR [Materials],
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_La
bor] DEFAULT (0) FOR [Labor],
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_Or
derDate] DEFAULT (getdate()) FOR [OrderDate],
CONSTRAINT [DF_tblLYPurchaseOrderProd
uctsTST_Em
ployeeNum]
DEFAULT (0) FOR [EmployeeNum]
GO
CREATE INDEX [IX_tblLYPurchaseOrderProd
uctsTST] ON [dbo].[tblLYPurchaseOrderP
roductsTST
]([PONum],
[ProductID]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblLYPurchaseOrders
TST] ADD
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_SupNum] DEFAULT (0) FOR [SupplierNum],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_Warehouse
Num] DEFAULT (0) FOR [WarehouseNum],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_FreightCh
arge] DEFAULT (0) FOR [FreightCharge],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_FuelSurch
arge] DEFAULT (0) FOR [MiscSurchargePercent],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_MiscSurch
argeCurren
tly] DEFAULT (0) FOR [MiscSurchargeCurrency],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_SalesTax]
DEFAULT (0) FOR [DiscountPercent],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_DiscountC
urrency] DEFAULT (0) FOR [DiscountCurrency],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_EntryDate
] DEFAULT (getdate()) FOR [EntryDate],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_EmployeeN
um] DEFAULT (0) FOR [EmployeeNum],
CONSTRAINT [DF_tblLYPurchaseOrdersTST
_SalesTax_
1] DEFAULT (0) FOR [SalesTax]
GO
ALTER TABLE [dbo].[tblLYPurchaseOrderP
roductsTST
] ADD
CONSTRAINT [FK_tblLYPurchaseOrderProd
uctsTST_tb
lLYPurchas
eOrdersTST
] FOREIGN KEY
(
[PONum]
) REFERENCES [dbo].[tblLYPurchaseOrders
TST] (
[PONum]
) ON DELETE CASCADE ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[tblLYPurchaseOrders
TST] ADD
CONSTRAINT [FK_tblLYPurchaseOrdersTST
_lkpFreque
ncy] FOREIGN KEY
(
[FrequencyType]
) REFERENCES [dbo].[lkpFrequency] (
[FrequencyType]
),
CONSTRAINT [FK_tblLYPurchaseOrdersTST
_tblSuppli
ers] FOREIGN KEY
(
[SupplierNum]
) REFERENCES [dbo].[tblSuppliers] (
[SupplierNum]
)
GO
SET IDENTITY_INSERT [tblLYPurchaseOrderProduct
sTST] ON
INSERT INTO tblLYPurchaseOrderProducts
TST ([PONum] ,
[ProductID] ,
[ProductDesc] ,
[ProductQuantity] ,
[ProductPrice] ,
[Materials] ,
[Labor] ,
[OrderDate] ,
[EmployeeNum])
(SELECT * FROM tblPurchaseOrderProducts)
GO
SET IDENTITY_INSERT [tblLYPurchaseOrderProduct
sTST] OFF
GO
SET IDENTITY_INSERT [tblLYPurchaseOrdersTST] ON
INSERT INTO tblLYPurchaseOrdersTST ([PONum] ,
[SupplierNum] ,
[WarehouseNum] ,
[FreightCharge] ,
[MiscSurchargePercent] ,
[MiscSurchargeCurrency] ,
[DiscountPercent] ,
[DiscountCurrency] ,
[FrequencyType] ,
[Comments] ,
[EntryDate] ,
[EmployeeNum] ,
[ArrivalDate] ,
[DeptID] ,
[SalesTax] ,
[ShipToName] ,
[ShipToAddress] ,
[ShipToAddress2] ,
[ShipToCity] ,
[ShipToState] ,
[ShipToZip])
(SELECT * FROM tblPurchaseOrders)
GO
SET IDENTITY_INSERT [tblLYPurchaseOrdersTST] OFF
GO
DROP TABLE tblPurchaseOrderProducts
GO
DROP TABLE tblPurchaseOrders
GO
CREATE TABLE [dbo].[tblPurchaseOrderPro
ducts] (
[PONum] [int] NOT NULL ,
[ProductID] [int] IDENTITY (1, 1) NOT NULL ,
[ProductDesc] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NOT NULL ,
[ProductQuantity] [int] NOT NULL ,
[ProductPrice] [decimal](18, 2) NOT NULL ,
[Materials] [decimal](18, 2) NOT NULL ,
[Labor] [decimal](18, 2) NOT NULL ,
[OrderDate] [smalldatetime] NULL ,
[EmployeeNum] [int] NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[tblPurchaseOrders] (
[PONum] [int] IDENTITY (1, 1) NOT NULL ,
[SupplierNum] [int] NOT NULL ,
[WarehouseNum] [int] NOT NULL ,
[FreightCharge] [decimal](18, 2) NOT NULL ,
[MiscSurchargePercent] [decimal](18, 2) NOT NULL ,
[MiscSurchargeCurrency] [decimal](18, 2) NOT NULL ,
[DiscountPercent] [decimal](18, 2) NOT NULL ,
[DiscountCurrency] [decimal](18, 2) NOT NULL ,
[FrequencyType] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[Comments] [varchar] (5000) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[EntryDate] [datetime] NULL ,
[EmployeeNum] [int] NOT NULL ,
[ArrivalDate] [datetime] NULL ,
[DeptID] [int] NULL ,
[SalesTax] [decimal](18, 2) NOT NULL ,
[ShipToName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToAddress] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToAddress2] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToCity] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToState] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL ,
[ShipToZip] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_
AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblPurchaseOrderPro
ducts] WITH NOCHECK ADD
CONSTRAINT [PK_tblPurchaseOrderProduc
ts] PRIMARY KEY CLUSTERED
(
[ProductID]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblPurchaseOrders] WITH NOCHECK ADD
CONSTRAINT [PK_tblPurchaseOrders] PRIMARY KEY CLUSTERED
(
[PONum]
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblPurchaseOrderPro
ducts] ADD
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_ProdQua
ntity] DEFAULT (0) FOR [ProductQuantity],
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_ProdPri
ce] DEFAULT (0) FOR [ProductPrice],
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_Materia
ls] DEFAULT (0) FOR [Materials],
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_Labor] DEFAULT (0) FOR [Labor],
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_OrderDa
te] DEFAULT (getdate()) FOR [OrderDate],
CONSTRAINT [DF_tblPurchaseOrderProduc
ts_Employe
eNum] DEFAULT (0) FOR [EmployeeNum]
GO
CREATE INDEX [IX_tblPurchaseOrderProduc
ts] ON [dbo].[tblPurchaseOrderPro
ducts]([PO
Num], [ProductID]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
ALTER TABLE [dbo].[tblPurchaseOrders] ADD
CONSTRAINT [DF_tblPurchaseOrders_SupN
um] DEFAULT (0) FOR [SupplierNum],
CONSTRAINT [DF_tblPurchaseOrders_Ware
houseNum] DEFAULT (0) FOR [WarehouseNum],
CONSTRAINT [DF_tblPurchaseOrders_Frei
ghtCharge]
DEFAULT (0) FOR [FreightCharge],
CONSTRAINT [DF_tblPurchaseOrders_Fuel
Surcharge]
DEFAULT (0) FOR [MiscSurchargePercent],
CONSTRAINT [DF_tblPurchaseOrders_Misc
SurchargeC
urrently] DEFAULT (0) FOR [MiscSurchargeCurrency],
CONSTRAINT [DF_tblPurchaseOrders_Sale
sTax] DEFAULT (0) FOR [DiscountPercent],
CONSTRAINT [DF_tblPurchaseOrders_Disc
ountCurren
cy] DEFAULT (0) FOR [DiscountCurrency],
CONSTRAINT [DF_tblPurchaseOrders_Entr
yDate] DEFAULT (getdate()) FOR [EntryDate],
CONSTRAINT [DF_tblPurchaseOrders_Empl
oyeeNum] DEFAULT (0) FOR [EmployeeNum],
CONSTRAINT [DF_tblPurchaseOrders_Sale
sTax_1] DEFAULT (0) FOR [SalesTax]
GO
ALTER TABLE [dbo].[tblPurchaseOrderPro
ducts] ADD
CONSTRAINT [FK_tblPurchaseOrderProduc
ts_tblPurc
haseOrders
] FOREIGN KEY
(
[PONum]
) REFERENCES [dbo].[tblPurchaseOrders] (
[PONum]
) ON DELETE CASCADE ON UPDATE CASCADE
GO
ALTER TABLE [dbo].[tblPurchaseOrders] ADD
CONSTRAINT [FK_tblPurchaseOrders_lkpF
requency] FOREIGN KEY
(
[FrequencyType]
) REFERENCES [dbo].[lkpFrequency] (
[FrequencyType]
),
CONSTRAINT [FK_tblPurchaseOrders_tblS
uppliers] FOREIGN KEY
(
[SupplierNum]
) REFERENCES [dbo].[tblSuppliers] (
[SupplierNum]
)
GO
Any help would be appreciated. I realize it might be something pretty simple, however I'm still learning.
Thanks!
Traci
Start Free Trial