日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SQLServer2008的新版的CTP的獨(dú)特之處

本文主要向你介紹的是SQL Server 2008的新版的CTP的獨(dú)特之處,在安裝Microsoft SQL Server 2008 July CTP之時(shí),在你的機(jī)子上就不能裝有SQL Server 2000。與SQL Server 2005的安裝過(guò)程相比,Microsoft SQL Server 2008 July CTP的安裝過(guò)程會(huì)非常的正常。

屏幕看上去會(huì)顯的非常簡(jiǎn)單。如果要安裝覆蓋一個(gè)先前的CTP版本,比必須先要卸載先前的版本。The July CTP不會(huì)升級(jí)一個(gè)先前的版本。

在SQL Server 2008中的新的數(shù)據(jù)類型

這個(gè)版本的Microsoft SQL Server 2008包括了一些我們可以開(kāi)發(fā)的新的數(shù)據(jù)類型。這些數(shù)據(jù)類型包括DATE和TIME數(shù)據(jù)類型。Microsoft同時(shí)也包括了HierarchyID系統(tǒng)數(shù)據(jù)類型。

在T-SQL 中DATE和TIME數(shù)據(jù)類型允許按照你的需要僅僅只存儲(chǔ)部分datetime數(shù)據(jù)類型。在Microsoft SQL Server的先前的版本中,存儲(chǔ)和獲取僅僅是日期和時(shí)間需要你同時(shí)存儲(chǔ)日期和時(shí)間值,通過(guò)使用一個(gè)轉(zhuǎn)化函數(shù)來(lái)去除你不需要的部分。DATE系統(tǒng)數(shù)據(jù)類型僅僅存儲(chǔ)日期,并且TIME系統(tǒng)數(shù)據(jù)類型僅僅存儲(chǔ)時(shí)間。使用DATE和TIME系統(tǒng)數(shù)據(jù)類型就像使用datetime系統(tǒng)數(shù)據(jù)類型一樣。

在第一個(gè)例子當(dāng)中,你使用新的數(shù)據(jù)類型申明了你的變量并且簡(jiǎn)單的用getdate()函數(shù)的返回值設(shè)定了變量的值。就像下面顯示的其他的時(shí)間數(shù)據(jù)類型一樣,time數(shù)據(jù)類型支持七位的小數(shù)點(diǎn)位精確。

 
 
 
  1. DECLARE @Dt as DATE, @Tm as TIME set @Dt = getdate() set @Tm = getdate() select @Dt, @Tm 

在第二個(gè)例子中,我們創(chuàng)建了一個(gè)表格,并使用了date數(shù)據(jù)類型創(chuàng)建了一列。接著我們使用getdate()的值設(shè)置了一個(gè)默認(rèn)的限制。當(dāng)我們插入了一條記錄并且查詢了表格之后,我們看到了DateAdded列的值為今天的日期。

 
 
 
  1. CREATE TABLE dbo.Table_1 ( RecordID int NOT NULL, DateAdded date NULL, DataValue nvarchar(MAX) NULL )>  

在我們的第三個(gè)例子中,我們創(chuàng)建了同樣的表格,但是沒(méi)有默認(rèn)的限制。當(dāng)我們?cè)黾佑涗浀臅r(shí)候我們只是簡(jiǎn)單的設(shè)置DateAdded列的值為getdate()系統(tǒng)函數(shù)的值。使用第二個(gè)或者第三個(gè)例子的代碼,輸出結(jié)果將會(huì)是一樣的。

 
 
 
  1. CREATE TABLE dbo.Table_1 ( RecordID int NOT NULL, DateAdded date NULL, DataValue nvarchar(MAX) NULL )>  

Microsoft已經(jīng)加入了一個(gè)第三日期系統(tǒng)數(shù)據(jù)類型。這個(gè)第三系統(tǒng)數(shù)據(jù)類型是datetime2。它就像已經(jīng)使用了很多年的datetime數(shù)據(jù)類型一樣,但是它要更加準(zhǔn)確。當(dāng)datetime數(shù)據(jù)類型精確到千分之一秒的時(shí)候,它被四舍五入到.000, .003 或者.007秒鐘。datetime2數(shù)據(jù)類型精確到100納秒(七位小數(shù)位)。當(dāng)我們使用datetime2數(shù)據(jù)類型的時(shí)候,你可以通過(guò)使用datetime2(n)選擇要精確到的小數(shù)位,從零到七位。datetime2數(shù)據(jù)類型的值的設(shè)置方法同datetime的設(shè)置方法一致。

 
 
 
  1. DECLARE @Dt as datetime2 set @Dt = getdate() select @Dt 

在這我們顯示了如何控制數(shù)據(jù)類型的精度。

 
 
 
  1. DECLARE @Dt as datetime2(4) set @Dt = getdate() select @Dt 

第四日期系統(tǒng)數(shù)據(jù)類型已經(jīng)被加到了datetimeoffset系統(tǒng)數(shù)據(jù)類型中。這個(gè)SQL Server 2008數(shù)據(jù)類型在它的輸出中包括了從GMT得來(lái)的時(shí)區(qū)偏移。

 
 
 
  1. declare @Dt as datetimeoffset(3) set @Dt = '2007-07-12 12:17:23.0 +7:00' select @Dt 

HierarchyID系統(tǒng)數(shù)據(jù)類型—伴隨這一些系統(tǒng)方法—被設(shè)計(jì)來(lái)使得存儲(chǔ),查詢,修改更加容易,也使得同層次數(shù)據(jù)一起工作更加容易。這個(gè)新的數(shù)據(jù)類型被最優(yōu)化來(lái)顯示數(shù)據(jù)樹(shù)。HierarchyID數(shù)據(jù)類型支持兩種策略來(lái)進(jìn)行索引存儲(chǔ)。

他們叫做深度優(yōu)先遍歷和廣度優(yōu)先遍歷。在深度優(yōu)先遍歷中,在一個(gè)單一樹(shù)中的一些行在索引中被相互之間相互挨著存儲(chǔ)。一個(gè)原始的圖表類型數(shù)據(jù),雇員和經(jīng)理就是一個(gè)典型的例子。在廣度優(yōu)先遍歷中,行被相互之間挨著存儲(chǔ)。在雇員/經(jīng)理例子中,向同樣的經(jīng)理匯報(bào)的雇員們被相互之間挨著存儲(chǔ)。

對(duì)于HierarchyID數(shù)據(jù)類型,系統(tǒng)中有一些系統(tǒng)函數(shù)和方法與之相聯(lián)系。有一些像GetLevel(),ParentChildOrg(),DescendantLimit()和GetAncestor()。下面顯示了一個(gè)簡(jiǎn)單的經(jīng)理和雇員之間的父子關(guān)系的例子。

 
 
 
  1. CREATE TABLE Organization ( NodeLevel hierarchyid, EmployeeID int,   
  2. OrgLevel as NodeLevel.GetLevel(), EmployeeName nvarchar(50) NOT NULL ) ;   
  3. GO insert into Organization (NodeLevel, EmployeeID, EmployeeName) values (hierarchyid::GetRoot(),0, 'Bob')   
  4. go Declare @Manager hierarchyid SELECT @Manager = hierarchyid::GetRoot()   
  5. FROM Organization ; insert into Organization (NodeLevel, EmployeeId, EmployeeName) values  
  6. (@Manager.GetDescendant(null, null), 1, 'Joe') go Declare @Manager hierarchyid declare   
  7. @NodeLevel hierarchyid select @NodeLevelNodeLevel = NodeLevel from Organization where EmployeeName = 'Joe'   
  8. SELECT @Manager = max(NodeLevel) FROM Organization where NodeLevel.  
  9. GetAncestor(1) = @NodeLevel insert into Organization (NodeLevel, EmployeeID, EmployeeName)  
  10. values (@NodeLevel.GetDescendant(@Manager, null),2, 'Sarah') go select NodeLevel.  
  11. ToString()as NodeLevel_String, * FROM Organization go drop table Organization go  

Select語(yǔ)句的輸出就像下面一樣:

 
 
 
  1. NodeLevel_StringNodeLevelEmployeeIDOrgLevelEmployeeName /0x00Bob /1/0x5811Joe /1/1/0x5AC022Sarah 

表格變量增進(jìn)

當(dāng)表格變量增進(jìn)在SQL Server 2008的先前版本中發(fā)布的時(shí)候,他們又值得被提及了。SQL Server 2008現(xiàn)在支持表格變量作為存儲(chǔ)過(guò)程的輸入?yún)?shù)。這需要在表格變量聲明和存儲(chǔ)過(guò)程聲明中使用一個(gè)用戶自定義的數(shù)據(jù)類型。下面就是一個(gè)基本實(shí)現(xiàn)的例子:

 
 
 
  1. Create a user-defined data type with a single column.  
  2. Develop a procedure with a table variable as an input parameter.   
  3. Declare a table variable of the type of the user defined data type.   
  4. Loading 10 records into the table variable and pass the table variable to the stored procedure.   
  5. create type tt_example AS TABLE (spid int) go create procedure usp_example   
  6. @spids tt_example READONLY AS SELECT * FROM @spids GO declare  
  7. @spids tt_example insert into   
  8. @spids select top 10 spid from sys.sysprocesses exec usp_example @spids=@spids  

變到TEXT, NTEXT 和 IMAGE數(shù)據(jù)類型

TEXT, NTEXT 和IMAGE數(shù)據(jù)類型有一些潛在的變化。在SQL Server 2008中,當(dāng)數(shù)據(jù)被寫(xiě)到一個(gè)TEXT, NTEXT或者 IMAGE數(shù)據(jù)類型當(dāng)中時(shí),如果數(shù)據(jù)比8000字節(jié)少時(shí)(對(duì)于NTEXT來(lái)說(shuō)是4000字符,對(duì)于TEXT和 IMAGE是8000)數(shù)據(jù)會(huì)被存儲(chǔ)在行中,如果數(shù)據(jù)長(zhǎng)度比上面提到的限制大的話,數(shù)據(jù)就被存儲(chǔ)在一個(gè)單獨(dú)的數(shù)據(jù)頁(yè)中,這很像Microsoft SQL Server 2005和之前的版本對(duì)于數(shù)據(jù)存儲(chǔ)的方式。當(dāng)數(shù)據(jù)比那些限制大的時(shí)候,就需要一個(gè)數(shù)據(jù)指針,這也和先前的版本一樣。

在SQL Server 2008 July CTP和T-SQL數(shù)據(jù)類型中有很多新的和另人興奮的變化。盡管還有更加新的和改進(jìn)的特性會(huì)在將來(lái)的版本中發(fā)布。


本文題目:SQLServer2008的新版的CTP的獨(dú)特之處
鏈接URL:http://m.5511xx.com/article/cddcepp.html