주문 세부 정보가있는 테이블이 있습니다. 사용자는 처음 추가 한 후에 이러한 세부 정보를 수정할 수 있습니다. 내 질문은 변경 사항을 업데이트하기 전에 저장하는 것이 더 옳은 방법입니다. 그건 그냥 주관적인 사고 방식이 아니라 목록에있는 각 방법의 결점이나 아마도 당신의 제안을 의미합니다 ...HowTo : 상태를 변경하기 전에 DB 행을 save로 업데이트하십시오.
주문과 동일 할 주문 내역 테이블을 만들려고했는데, 이전에 주문을 업데이트하면 HistoryOrders로 이동하면이 주문이 업데이트됩니다.
다른 방법은 Order에 부모 필드를 사용하는 동안 업데이트가있을 때마다 새 Order를 만드는 것입니다. 첫 번째 Order는 parentOrderID 열로 null을 갖습니다. update는 parentOrderID 열 행에서 orderID를 업데이트하기 전에 ...
나중에 데이터를 사용하여 가장 유연한 솔루션이 필요합니다 ... 다른 옵션을 놓칠 수 있습니다 ...
CREATE TABLE [dbo].[Orders](
[orderID] [int] IDENTITY(1,1) NOT NULL,
[userID] [int] NOT NULL,
[paymentMethodID] [tinyint] NOT NULL,
[orderAmount] [smallint] NOT NULL,
[orderStatusID] [tinyint] NOT NULL,
[date] [smalldatetime] NOT NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED
(
[orderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Orders] WITH CHECK ADD CONSTRAINT [FK_Orders_Users] FOREIGN KEY([userID])
REFERENCES [dbo].[Users] ([userID])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Users]
GO
감사
어떤 SQL Server 버전을 사용하고 있습니까? –
SQL-SERVER 2005 – eugeneK