方法1: with temp as ( select row_number() over(order by cityID) as rownum,cityName from city ) select * from temp where rownum between 10 and 20 go 解釋: 1 此方法把括弧裡的查詢結果放到變數:temp 裡面( 我也不確定是不是變數), 並用row_number() 函數進行一個行號跟蹤, 再用over 函數進行一個列的定序( 是這必須的),
在SQL語句調優的時候,大部分都會查看語句執行時間,究竟SQLSERVER顯示出來的統計結果是什麼意思?下面看一下例子比較簡單的語句:1 SET STATISTICS TIME ON2 USE [pratice]3 GO4 SELECT * FROM [dbo].[Orders]結果: 1 SQL Server 分析和編譯時間: 2 CPU 時間 = 0 毫秒,佔用時間 = 0 毫秒。 3 4 SQL Server 執行時間: 5 CPU 時間 = 0 毫秒,佔用時間 = 0
SELECT SYSCOLUMNS.name FROM SYSCOLUMNS,SYSOBJECTS,SYSINDEXES,SYSINDEXKEYS WHERE SYSCOLUMNS.id = object_id('Tab_XXX') --syscolumns.id為該列所屬的表對象ID AND SYSOBJECTS.xtype = 'PK' --sysobjects.xtype物件類型 AND SYSOBJECTS.parent_obj = SYSCOLUMNS.id
工作這些年, 資料庫分頁也用過幾種方案, 總結如下:1.用row_number函數及暫存資料表分頁, 適用sql 2005/2008. 大致思路如下:SELECT *, ROW_NUMBER() OVER (ORDER BY OrderID DESC ) AS rownumber into #SOFROM tbl_SalesOrderWhere condition...SELECT *FROM #SO Where (#SO.rownumber between 1 AND 15order
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/*************************Sql Server 2000 如何刪除Database Backup**************************/--可以先備份資料庫[TestDB]BACKUP DATABASE TestDB TO Disk ='E:\Database
原文:http://support.microsoft.com/kb/139444/概要Microsoft SQL Server 表不應該包含重複行和非唯一主鍵。為簡潔起見,在本文中我們有時稱主鍵為“鍵”或“PK”,但這始終表示“主鍵”。重複的 PK 違反了實體完整性,在關係系統中是不允許的。SQL Server 有各種強制執行實體完整性的機制,包括索引、唯一約束、主鍵約束和觸發器。儘管如此,在某些情況下還可能會出現重複的主鍵;如果出現此類情況,就必須清除重複主鍵。出現重複主鍵的情形之一是,在
SQL Server Compact產品組發表了一篇部落格文章,介紹如何提高SQL Server Compact資料庫的查詢效能。比較全面,也比較權威,建議大家都看看。其實SQL Server Compact的聯機叢書中已經在效能最佳化方面有比較詳細的介紹了,大家不妨也翻一翻。馬寧在MEDC 2007講過一節SQL Server 2005 Compact Edition 程式設計與效能最佳化的課程,我很幸運聽到了,讓我受益匪淺。Query performance (from sql
在我寫了《在SQL Server Express版和Compact版之間做出選擇》之後,園子裡有些朋友問到SQL Server精簡版(sqlce)支不支援ASP.NET?當時我也不確定,我自己測試過確實不行,但是覺得怪怪的,沒有道理不支援啊!今天看了Steve Lasker的blog,終於搞清楚了!由於sqlce預設不支援ASP.NET,很多使用者因此對MS提出請求,不斷抱怨,甚至恐嚇(如果你不讓它支援,我就使用XX產品)。Steve
在進行一些如傳送簡訊、郵件的業務時,我們經常會使用一個表來儲存待發送的資料,由後台多個線程不斷的從表中讀取待發送的資料進行發送,發送完成後再將資料轉移到曆史表中,這樣保證待發送表的資料一般情況下不會太多。如待發送表結構為:Create Table SMS(ID int not null identity(1,1),Content varchar(1024),Status int not null,CreateTime datetime);Status 取值:0未讀取
SQLSERVER叢集索引和主鍵的誤區很多人會把Primary Key和叢集索引搞混起來,或者認為這是同一個東西。這個概念是非常錯誤的。 主鍵是一個約束(constraint),他依附在一個索引上,這個索引可以是叢集索引,也可以是非叢集索引。所以在一個(或一組)欄位上有主鍵,只能說明他上面有個索引,但不一定就是叢集索引。例如下面: 1 USE [pratice] 2 GO 3 CREATE TABLE #tempPKCL 4 ( 5 ID INT PRIMARY KEY