SQL2008和sql2008 r2有什么區別
SQL2008和SQL2008 r2的區別: 一、功能的區別 SQL2008增加了很多新功能包括:新功能包括數據壓縮,基于策略的管理和集成全文檢索功能。
可以對整個數據庫、數據文件和日志文件進行加密,而不需要改動應用程序;為了在線添加內存資源而擴展SQL Server中的已有的支持,熱添加CPU使數據庫可以按需擴展。 SQL2008 r2對比SQL2008引進了一系列新功能幫助各種規模的業務從信息中獲取更多價值。
經過改進的SQL Server 2008 R2增強了開發能力,提高了可管理性,強化了商業智能及數據倉庫。 二、安裝需求的區別 SQL2008支持的操作系統:Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Vista, Windows Vista Service Pack 1, Windows XP Service Pack 2, Windows XP Service Pack 3。
SQL2008 r2還要求安裝微軟的.NET Framework 3.5 SP1。可是,如果沒有安裝,安裝程序會自動安裝該組件,除非是在安裝SQL Server Express的各種版本之一。
如果在安裝SQL Server Express,那么就必須手工安裝.NET Framework。 三、關鍵特性的區別 SQL2008提供了一個解決方案來滿足這些需求,這個解決方案就是公司可以使用存儲和管理許多數據類型,包括XML、e-mail、時間/日歷、文件、文檔、地理等等,同時提供一個豐富的服務集合來與數據交互作用:搜索、查詢、數據分析、報表、數據整合,和強大的同步功能。
SQL2008 r2為任何規模的應用提供完備的信息平臺。可管理的,熟悉的自服務商業智能(BI)工具。
支持大規模數據中心與數據倉庫。支持平滑建立與擴展應用到云端與微軟的應用平臺緊密集成。
四、版本的區別 SQL2008除了發布企業版的同時,提供適用于中小型應用規模的標準版、工作組版、以及180天試用的評估版及免費的學習版。 SQL2008 r2的版本有企業版、標準版、工作組版、Web版、開發者版、Express版、Compact 3.5版。
參考資料來源:百度百科——sql server 2008 百度百科——SQL Server 2008 R2。
SQLServer2008不放回抽樣算法及代碼寫法例如:1-10中不放回抽5
declare @a int,@b int,@c int,@d int,@e int,@f int,@g intset @g = 1select @a=right(rand(),5) --模擬隨機五個數字select @b = @a/10000, --求出萬位的單個數字 @c = (@a-@b*10000)/1000, --求出千位的單個數字\x05 @d = (@a-@b*10000-@c*1000)/100, --求出百位的單個數字\x05 @e = (@a-@b*10000-@c*1000-@d*100)/10, --求出十位的單個數字\x05 @f = @a-@b*10000-@c*1000-@d*100-@e*10 --求出個位的單個數字if(@f-@e=1) --比較每個相鄰的數字是否連續數字,如果是的話累計加1\x05set @g =@g+1if(@e-@d=1) --比較每個相鄰的數字是否連續數字,如果是的話累計加1\x05set @g =@g+1if(@d-@c=1) --比較每個相鄰的數字是否連續數字,如果是的話累計加1\x05set @g =@g+1if(@c-@b=1) --比較每個相鄰的數字是否連續數字,如果是的話累計加1\x05set @g =@g+1if(@b-@a=1) --比較每個相鄰的數字是否連續數字,如果是的話累計加1\x05set @g =@g+1if(@g=1) --如果計數變量還是初始值1的時候,把變量清0. set @g = 0print convert(varchar(10),@a) +'='+ convert(varchar(10),@b)+'+'+ convert(varchar(10),@c)+'+'+ convert(varchar(10),@d)+'+'+ convert(varchar(10),@e)+'+'+ convert(varchar(10),@f)+'一共有'+convert(varchar(10),@g)+'位連續數字' --顯示結果--最后不知道你需要插入的目標表是什么,你只好自己插入了.--如果幫到你的話,。
SQL SERVER 2008的查詢語句問題
寫個游標循環取,加上輸出表名,如果系統死機或者過慢就強制停止,下次從該表處接著查1234567891011121314 declare@tbname varchar(200)declare@sql nvarchar(2000)declarecur * a,*s b *_id=*_id *='name'*encurfetchnextfromcur into@tbnamewhile @@fetch_status=0 begin print @tbname set@sql='select * from '+@tbname+' where name=''王磊''' exec(@sql)fetchnextfromcur into@tbnameend 執行的時候把結果輸出模式改成以文本格式顯示,以免超過100個上限或者直接把查詢的結果都插入到一個表中統一查看也可。
sql server2008語句
這個類似訂單與訂單詳細記錄直接的關系。兩個表中的連接條件是設為pcid,int類型,如果更改表1中的總的數量可以使用觸發器完成。例句如下:
-----插入觸發器
create trigger insert_totalnum
on 表2
for insert
as
declare @newid int
declare @num int
select @newid = pcid,@num = 購買數量 from inserted
update 表1 set 總數量=總數量-@num where pcid=@newid
-----更新觸發器,需要計算數量之差
create trigger insert_totalnum
on 表2
for update(購買數量)
as
declare @newid int
declare @newnum int
declare @oldnum int
declare @exc_num int
select @newid = pcid,@newnum = 購買數量 from inserted
select @oldnum = 購買數量 from deleted where pcid=@newid
set @exc_num=@newnum-@oldnum--做減法:如果為負值,將購買數量調小,表1中需要增加;如果為正值,將購買數量調大,表1中需要減少;但在表1中始終是做減法
update 表1 set 總數量=總數量-@exc_num where pcid=@newid
以上基于sqlserver 2000 版本,delete觸發器不再給出。