【導讀】本文介紹了幾種不同的策略如何在SQL Server中由原子建立分子查詢。
每位SQL Server開發員都有自己的首選操作方法。我的方法叫做分子查詢。這些是由原子查詢組合起來的查詢,通過它們我可以處理一個表格。將原子組合起來,可以建立分子。當然也會有限制(化學家所稱的化合價),但一般來說,這個原理還是適用的。
在本文中,我將探討這種策略的幾種變化。我從最基本的內容開始(即最詳細的內容),然後逐步深化。為讓你了解這種方法的靈活性,我會在不同層次使用幾種技巧。(警告:這並不是唯一的解決方法,我只是在討論一些可行的選擇。)
我從普遍使用的數據庫Northwind開始(雖然為了保留原貌,我把它復制到Northwind_New中,實際這才是我使用的數據庫。)在我的拷貝中,我做出這些重要的修改。
我刪除了復合主鍵,增加一個叫做PK的新列,並將其設為Identity列。
我增加了一個稱作ExtendedAmount的計算列。
USE [Northwind_New]
GO
/****** Object: Table [dbo].[OrderDetails_New]
Script Date: 08/23/2006 16:15:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATETABLE [dbo].[OrderDetails_New](
[OrderDetailID] [int] IDENTITY(1,1)NOTNULL,
[OrderID] [int] NOTNULL,
[ProductID] [int] NOTNULL,
[UnitPrice] [money] NOTNULL,
[Quantity] [smallint] NOTNULL,
[Discount] [real] NOTNULL,
[ExtendedAmount] AS([Quantity] * [UnitPrice] *(1 - [Discount])),
CONSTRAINT [PK_OrderDetails_New] PRIMARYKEYCLUSTERED
(
[OrderDetailID] ASC
)ON [PRIMARY]
)ON [PRIMARY]