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 server 2008如下怎么寫SQL語句呢
方法一:可以通過執行該命令來查看錯誤日志信息:exec xp_readerrorlog 方法二:在SQL SERVER Management Studio中連接該sql server實例,object Explorer中查找Management->SQL Server logs->右鍵選view-》選擇你要看的日志信息(sql server log or sql server and Windows log)方法三:去安裝路徑下去找你的log文件,我的默認實例路徑如下driver:\SQL Server 2008 R2\MSSQL10_*ERVER\MSSQL\Log\ERRORLOG。
sql server 2008的有哪些新特點
在SQL Server 2008中,不僅對原有性能進行了改進,還添加了許多新特性,比如新添了數據集成功能,改進了分析服務,報告服務,以及Office集成等等。
SQL Server集成服務
SSIS(SQL Server集成服務)是一個嵌入式應用程序,用于開發和執行ETL(解壓縮、轉換和加載)包。SSIS代替了SQL 2000的DTS。整合服務功能既包含了實現簡單的導入導出包所必需的Wizard導向插件、工具以及任務,也有非常復雜的數據清理功能。SQL Server 2008 SSIS的功能有很大的改進和增強,比如它的執行程序能夠更好地并行執行。在SSIS 2005,數據管道不能跨越兩個處理器。而SSIS 2008能夠在多處理器機器上跨越兩個處理器 。而且它在處理大件包上面的性能得到了提高。SSIS引擎更加穩定,鎖死率更低。
Lookup功能也得到了改進。Lookup是SSIS一個常用的獲取相關信息的功能。比如從CustomerID查找Customer Name,獲取數據集。Lookup在SSIS中很常見,而且可以處理上百萬行的數據集,因此性能可能很差。SQL 2008對Lookup的性能作出很大的改進,而且能夠處理不同的數據源,包括 *,XML,OLEDB和其他SSIS壓縮包。
SQL 2008可以執行TSQL的MERGE命令。用MERGE命令,只需一個語句就可以對行進行 UPDATE、INSERT或 DELETE。下面的例子就是如何用MERGE命令來把新的Inventory Item descriptions 列表插入已有的Inventory Master中。除了 descriptions, NewInventory表格中還加入了其他一些部分。如果沒有MERGE語句,就需要執行兩個命令才能完成。第一個命令查找匹配的Description然后更新。第二個命令查找不匹配項然后插入。有了MERGE,一個語句就可以完成這兩個任務。步驟如下:
MERGE InventoryMaster AS im
USING (SELECT InventoryID, Descr FROM NewInventory) AS src
ON im. InventoryID = src. InventoryID
WHEN MATCHED THEN
UPDATE SET * = *
WHEN NOT MATCHED THEN
INSERT (InventoryID, Descr) VALUES (src. InventoryID, *);
分析服務
SSAS(SQL Server分析服務)也得到了很大的改進和增強。IB堆疊做出了改進,性能得到很大提高,而硬件商品能夠為Scale out管理工具所使用。Block Computation也增強了立體分析的性能。
報表服務
SSRS(SQL Server 報表服務)的處理能力和性能得到改進,使得大型報表不再耗費所有可用內存。另外,在報表的設計和完成之間有了更好的一致性。 SQL SSRS 2008還包含了跨越表格和矩陣的TABLIX。 Application Embedding 允許用戶點擊報表中的 URL鏈接調用應用程序。
Microsoft Office 2007
SQL Server 2008能夠與 Microsoft Office 2007完美地結合。例如,SQL Server Reporting Server能夠直接把報表導出成為Word文檔。而且使用 Report Authoring工具,Word和Excel都可以作為SSRS報表的模板。Excel SSAS新添了一個數據挖掘插件,提高了其性能。
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觸發器不再給出。
誰有SQL 2008 學習用的版本可下載的!!! 給個地址唄!謝謝!-百
SQL Server 2008下載官方下載地址: http://**sqlserver/2008/en/us/*迅雷下載地址: 58.251.57.206/downSQL Server 2008新功能介紹● SQL Server 2008新功能 一、可信任的SQL Server 2008為關鍵任務應用程序提供了強大的安全特性、可靠性和可擴展性。
· 通過簡單的數據加密、外鍵管理、增強審查來增強來擴展它的安全性。 · 通過改進了數據庫鏡像、熱添加CPU簡化管理并具高可靠性的應用的能力。
· 提供了一個廣泛的功能集合,使你的數據平臺上的所有工作負載的執行都是可擴展的和可預測的。二、高效的SQL Server 2008降低了管理系統、.NET架構和Visual Studio? Team System的時間和成本,使得開發人員可以開發強大的下一代數據庫應用程序。
· SQL Server 2008推出了陳述式管理架構(DMF) ,它是一個用于SQL Server數據庫引擎的新的基于策略的管理框架。 · 對SQL Server的服務生命周期提供了顯著的改進 ,它重新設計了安裝、建立和配置架構。
· 提供了集成的開發環境和更高級的數據提取。 · 在與Visual Studio 的合作下,快速的創建偶爾連接系統。
· 提供了新的數據類型使得開發人員和管理員可以有效的存儲和管理非結構化數據。三、智能的商業智能(BI)繼續作為大多數公司投資的關鍵領域和對于公司所有層面的用戶來說的一個無價的信息源。
SQL Server 2008提供了一個全面的平臺,用于當用戶需要時你可以為其提供智能化。 · 集成任何數據 · 發送相應的報表 · 使用戶獲得全面的洞察力 SQL Server 2008基于SQL Server 2005強大的OLAP能力,為所有用戶提供了更快的查詢速度。
這個性能的提升使得公司可以執行具有許多維度和聚合的非常復雜的分析。性能詳解● 現今數據的世界里,公司要獲得成功和不斷發展,他們需要定位了主要的數據趨勢的愿景。
微軟的這個數據平臺愿景幫助公司滿足這些數據爆炸和下一代數據驅動應用程序的需求。● SQL Server 2008不僅對原有性能進行了改進,還添加了許多新特性,比如新添了數據集成功能,改進了分析服務,報告服務,以及Office集成等等。
SSRS(SQL Server 報表服務)的處理能力和性能得到改進,使得大型報表不再耗費所有可用內存。另外,在報表的設計和完成之間有了更好的一致性。
● SQL Server 2008的新壓縮特性 關于SQL Server壓縮的故事,最早是從SQL Server 2005開始的,在企業版和開發版中增加了一種叫做vardecimal的新存儲格式,這個表級的選項會影響到decimal和numeric字段。 ● SQL Server 2008的設置和安裝也有所改進。
配置數據和引擎位已經分開了,所以它使創建基本的未配置系統的磁盤圖像變得可能,它使分布到多個服務器變得更容易;另一個特點是有能力把安裝SQL、SP和補丁做一個單一的步驟進行;另一個的最后的特點是,有能力卸載SP了。 ● SQL Server 2008管理能力 SQL Server 的每一個版本發布都會帶來新的管理特性,它們通過自動進行管理工作、統一管理和使得管理員可以專注于更有價值和更具戰略的工作,從而幫助降低你的數據服務解決方案的總成本。
Microsoft SQL Server 2008推出了一個綜合了性能數據收集器、數據倉庫、報表和基于政策的管理解決方案,他們使你獲得了對你的基于SQL Server的企業數據服務解決方案的前所未有的控制。 ● 解析SQL Server 2008 數據倉庫 SQL Server 2008提供了一個全面和可擴展的數據倉庫平臺,使得公司可以更快的將數據整合到數據倉庫中,衡量和管理不斷增長的數據和用戶的空間,同時使所有的用戶具有了洞察力。
使用技巧● SQL Server 2008:使用空間數據實現位置智能 ● SQL Server 2008中有關XML的新功能(上)(下) Microsoft SQL Server 2000中推出了與XML相關的功能,這使得開發人員可以編寫Transact-SQL代碼來獲取XML流形式的查詢結果,并將一個XML文檔分割成一個rowset。SQL Server 2008建立在之前版本的XML功能基礎之上,做了改進來迎接客戶在存儲和操縱數據庫中的XML數據時所面臨的挑戰。
● 使用SQL Server 2008管理非結構化數據。 日漸增長的業務產生了大量的數字圖片、文檔視頻和其它多媒體格式的非關系和非結構化數據——這些新的數據格式迅速成為正式的和非正式的商業處理的一個關鍵組成部分,它們與現有的商業應用程序集成在一起,遵守調整要求,或者簡單的提供了一個更加豐富的用戶體驗。
SSIS(SQL Server集成服務)是一個嵌入式應用程序,用于開發和執行ETL(解壓縮、轉換和加載)包。SSIS代替了SQL 2000的DTS。
整合服務功能既包含了實現簡單的導入導出包所必需的Wizard導向插件、工具以及任務,也有非常復雜的數據清理功能。SQL Server 2008 SSIS的功能有很大的改進和增強,比如它的執行程序能夠更好地并行執行。
在SSIS 2005,數據管道不能跨越兩個處理器。而SSIS 2008能夠在多處理器機器上跨越兩個處理器 。
而且它在處理大件包上面的性能得到了提高。SSIS引擎更加穩定,鎖死率更低。
Lookup功能也得到了改進。Lookup是SSIS一個常用的獲取相關信息的功能。
比如從Custo。
sql server 2008怎么打開數據庫表
1、安裝好sql server2008之后,在開始菜單打開Microsoft SQL Server Management studio,進行連接服務器,其中服務器名稱是電腦計算機名稱,輸入用戶名和密碼進行連接。
2、鼠標右鍵數據庫,點擊新建可以新建數據庫,進去之后,輸入數據庫名稱,點擊確定就新建數據庫了。
3、打開test數據庫,在表上鼠標右鍵,選擇新建表。
4、輸入各字段名稱,類型和長度之和,點擊保存,輸入表名稱,點擊確定。
5、鼠標右鍵table1表,選擇編輯前200行,可以給表添加內容,如果想修改表字段內容,可以鼠標右鍵表,選擇設計。
6、如果想執行sql語句操作,點擊新建查詢,可以寫sql語句,點擊執行,會執行sql。
如何用sql server 2008
首先,簡要介紹基礎語句:1、說明:創建數據庫CREATE DATABASE database-name 2、說明:刪除數據庫drop database dbname 3、說明:備份sql server--- 創建 備份數據的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_*' --- 開始 備份BACKUP DATABASE pubs TO testBack 4、說明:創建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根據已有的表創建新表:insert into newTable select D_Domain,D_IP from oldTableA.創建臨時表:select t1.* from ( select oruOid , oruType 。
from orderunicom where oruExecTime >= @st and oruExecTime1法二:select top 0 * into b from a14、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)insert into b(a, b, c) select d,e,f from b;15、說明:跨數據庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)insert into b(a, b, c) select d,e,f from b in '具體數據庫' where 條件例子:..from b in '"&*h(".")&"\*" &"' where..16、說明:子查詢(表名1:a 表名2:b)select a,b,c from a where a IN (select d from b ) --或者: select a,b,c from a where a IN (1,2,3) 17、說明:顯示文章、提交人和最后回復時間select *,*me,*e from table a,(select max(adddate) adddate from table where *=*) b 18、說明:外連接查詢(表名1:a 表名2:b)select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c 19、說明:在線視圖查詢(表名1:a )select * from (SELECT a,b,c FROM a) T where t.a > 1; 20、說明:between的用法,between限制查詢數據范圍時包括了邊界值,not between不包括select * from table1 where time between time1 and time2select a,b,c, from table1 where a not between 數值1 and 數值2 21、說明:in 的使用方法select * from table1 where a [not] in ('值1','值2','值4','值6') 22、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息delete from table1 where not exists ( select * from table2 where *1=*1 )23、說明:四表聯查問題:select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where 。.. 24、說明:日程安排提前五分鐘提醒SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5 25、說明:一條sql 語句搞定數據庫分頁select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段 26、說明:前10條記錄select top 10 * form table1 where 范圍 27、說明:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用于論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b) 28、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重復行而派生出一個結果表(select a from tableA ) except (select a from tableB) except (select a from tableC) 29、說明:隨機取出10條數據select top 10 * from tablename order by newid() 30、說明:隨機選擇記錄select newid() 31、說明:刪除重復記錄Delete from tablename where id not in (select max(id) from tablename group by col1,col2,。
) 32、說明:列出數據庫里所有的表名select name from sysobjects where type='U' 33、說明:列出表里的所有的select name from syscolumns where id=object_id('TableName') 34、說明:列示type、vender、pcs字段,以type字段排列,case可以方便地實現多重選擇,類似select 中的case。select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type 顯示結果:type vender pcs電腦 A 1電腦 A 1光盤 B 2光盤 A 2手機 B 3手機 C 335、說明:初始化表table1TRUNCATE TABLE table1 36、說明:選擇從10到15的記錄select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc 隨機選擇數據庫記錄的方法(使用Randomize函數,通過SQL語句實現) 對存儲在數據庫中的數據來說,隨機數特性能給出上面的效果,但它們可能太慢了些。
你不能要求ASP“找個隨機數”然后打印出來。實際上常見的解決方案是建立如下所示的循環:Randomize RNumber = Int(Rnd*499) +1 While Not * If objRec("ID") = RNumber THEN 。
這里是執行腳本 。 end if *xt Wend 這很容易理解。
首先,取出1到500范圍之內的一個隨機數(假設500就是數據庫內記錄的總數)。然后,遍歷每一記錄來測試ID 的值、檢查其是否匹配RNumber。
滿足條件的話就執行由THEN 關鍵字開始的那一塊代碼。假如你的RNumber 等于495,那么要循環一遍數據庫花的時間可就長了。
雖然500這。
轉載請注明出處華閱文章網 » sql語句server2008