時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
每位SQL Server開(kāi)發(fā)員都有自己的首選操作方法。我的方法叫做分子查詢。這些是由原子查詢組合起來(lái)的查詢,通過(guò)它們我可以處理一個(gè)表格。將原子組合起來(lái),可以建立分子。當(dāng)然也會(huì)有限制(化學(xué)家所稱(chēng)的化合價(jià)),但一般來(lái)說(shuō),這個(gè)原理還是適用的。
在本文中,我將探討這種策略的幾種變化。我從最基本的內(nèi)容開(kāi)始(即最詳細(xì)的內(nèi)容),然后逐步深化。為讓你了解這種方法的靈活性,我會(huì)在不同層次使用幾種技巧。(警告:這并不是唯一的解決方法,我只是在討論一些可行的選擇。)
我從普遍使用的數(shù)據(jù)庫(kù)Northwind開(kāi)始(雖然為了保留原貌,我把它復(fù)制到Northwind_New中,實(shí)際這才是我使用的數(shù)據(jù)庫(kù)。)在我的拷貝中,我做出這些重要的修改。
我刪除了復(fù)合主鍵,增加一個(gè)叫做PK的新列,并將其設(shè)為Identity列。
我增加了一個(gè)稱(chēng)作ExtendedAmount的計(jì)算列。
以下為引用的內(nèi)容: USE [Northwind_New] |
列表A
列表A中包含建立這個(gè)新表格的新建(Create)語(yǔ)句。我用這個(gè)命令將它和值從原始表格中迅速移植出來(lái):
INSERT INTO [Northwind_New].[dbo].[OrderDetails_New]
SELECT * FROM [Northwind_New].[dbo].[Order Details]
?
既然我有一個(gè)多行的表格,是時(shí)候開(kāi)始實(shí)驗(yàn)了。(一旦新列ExtendedAmount被計(jì)算,其值會(huì)自動(dòng)移植。)最初,我想用OrderID計(jì)算ExtendedAmount列的總數(shù)。我建立一個(gè)視圖,如列表B所示。
以下為引用的內(nèi)容: USE [Northwind_New] |
列表B
我每行得到一個(gè)OrderID,ExtendedAmount的列數(shù)得到總計(jì)。(稱(chēng)之為OrderAmount,將航運(yùn),稅收等相加得到OrderTotal)。
我會(huì)在等式中引入一個(gè)表格UDF,如列表C所示。注意,我可以用兩種方法調(diào)用函數(shù):提交CustomerID將表格限定為那個(gè)顧客的訂單,或提交一個(gè)NULL獲得所有顧客訂單列表。如果我提交CustomerID,那么訂單列表就出現(xiàn)在OrderDate中;如果我提交NULL,列表就被分組并在CustomerID中由OrderDate排序。
以下為引用的內(nèi)容: set ANSI_NULLS ON -- ============================================= --try it with these: -- ================================================ 關(guān)鍵詞標(biāo)簽:SQL Server 相關(guān)閱讀
熱門(mén)文章 淺談JSP JDBC來(lái)連接SQL Server 2005的方法 SqlServer2005對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表?yè)p壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫(kù)用戶、角色、架構(gòu)的關(guān)系 相關(guān)下載 人氣排行 配置和注冊(cè)O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫(kù) SQL2000數(shù)據(jù)庫(kù)遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫(kù)服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級(jí)到2000的正確操作步驟 sql server系統(tǒng)表?yè)p壞的解決方法 淺談JSP JDBC來(lái)連接SQL Server 2005的方法
|