好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(4)

SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(4)

熱門(mén)標(biāo)簽:高德地圖標(biāo)注電話怎么沒(méi)了 智能電銷(xiāo)機(jī)器人教育 無(wú)錫梁溪公司怎樣申請(qǐng)400電話 北京智能外呼系統(tǒng)供應(yīng)商家 電話機(jī)器人錄音師薪資 奧維地圖標(biāo)注字體大小修改 孝感銷(xiāo)售電銷(xiāo)機(jī)器人廠家 江西穩(wěn)定外呼系統(tǒng)供應(yīng)商 中國(guó)地圖標(biāo)注省份用什么符號(hào)
比如,我要建立一個(gè)1,000,000行的數(shù)字表:

CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY);
DECLARE @max AS INT, @rc AS INT;
SET @max = 1000000;
SET @rc = 1;

INSERT INTO Nums VALUES(1);
WHILE @rc * 2 = @max
BEGIN
INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums;
SET @rc = @rc * 2;
END

INSERT INTO dbo.Nums
SELECT n + @rc FROM dbo.Nums WHERE n + @rc = @max;




這種方式非常巧妙,它并不是一個(gè)一個(gè)的循環(huán)插入,而是一次插入很多行,{1},{2},{3,4},{5,6,7,8}。。。



為什么這樣會(huì)快呢?

是因?yàn)樗?jié)省了跟比較其他可用解決方案進(jìn)行比較和記錄這些日志的時(shí)間。



然后,作者給了一個(gè)CTE的遞歸的解決方案:

DECLARE @n AS BIGINT;
SET @n = 1000000;

WITH Nums AS
(
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM Nums WHERE n @n
)
SELECT n FROM Nums
OPTION(MAXRECURSION 0);--為了移除默認(rèn)100的遞歸限制


有個(gè)更優(yōu)的CTE的解決方案,就是先生成很多行,然后用ROW_NUMBER進(jìn)行計(jì)算,再選擇ROW_NUMBER這列的值就可以了。

復(fù)制代碼 代碼如下:

DECLARE @n AS BIGINT;
SET @n = 1000000;

WITH Base AS
(
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM Base WHERE n CEILING(SQRT(@n))
),
Expand AS
(
SELECT 1 AS c
FROM Base AS B1, Base AS B2
),
Nums AS
(
SELECT ROW_NUMBER() OVER(ORDER BY c) AS n
FROM Expand
)
SELECT n FROM Nums WHERE n = @n
OPTION(MAXRECURSION 0);


利用笛卡爾積進(jìn)行不斷的累加,達(dá)到了22n行。

最后,作者給出了一個(gè)函數(shù),用于生成這樣的數(shù)字表:
復(fù)制代碼 代碼如下:

CREATE FUNCTION dbo.fn_nums(@n AS BIGINT) RETURNS TABLE
AS
RETURN
WITH
L0 AS(SELECT 1 AS c UNION ALL SELECT 1),
L1 AS(SELECT 1 AS c FROM L0 AS A, L0 AS B),
L2 AS(SELECT 1 AS c FROM L1 AS A, L1 AS B),
L3 AS(SELECT 1 AS c FROM L2 AS A, L2 AS B),
L4 AS(SELECT 1 AS c FROM L3 AS A, L3 AS B),
L5 AS(SELECT 1 AS c FROM L4 AS A, L4 AS B),
Nums AS(SELECT ROW_NUMBER() OVER(ORDER BY c) AS n FROM L5)
SELECT n FROM Nums WHERE n = @n;
GO
您可能感興趣的文章:
  • SQLServer用t-sql命令批量刪除數(shù)據(jù)庫(kù)中指定表(游標(biāo)循環(huán)刪除)
  • 如何在SQL Server 2008下輕松調(diào)試T-SQL語(yǔ)句和存儲(chǔ)過(guò)程
  • SQL Server中的T-SQL的基本對(duì)象
  • SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(3)
  • SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(2)
  • SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(1)
  • SQLServer 2008 新增T-SQL 簡(jiǎn)寫(xiě)語(yǔ)法
  • SQL Server 數(shù)據(jù)庫(kù)管理常用的SQL和T-SQL語(yǔ)句
  • SQL Server 數(shù)據(jù)庫(kù)管理常用的SQL和T-SQL語(yǔ)句
  • SQL Server 數(shù)據(jù)庫(kù)管理常用的SQL和T-SQL語(yǔ)句
  • T-sql語(yǔ)句修改SQL Server數(shù)據(jù)庫(kù)邏輯名、數(shù)據(jù)庫(kù)名、物理名的方法

標(biāo)簽:臨滄 海北 那曲 荊州 泰州 齊齊哈爾 阜陽(yáng) 通化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(4)》,本文關(guān)鍵詞  SqlServer,2005,T-SQL,Query,學(xué)習(xí),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(4)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于SqlServer 2005 T-SQL Query 學(xué)習(xí)筆記(4)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 偷拍农村妇女BBBBBB视频| 国产精品婷婷午夜在线观看| 小yoyo萝li?交精品无码| 求毛片网站| bl张开腿我要上你h| 嗯啊用力干| 日本护士xxxx在线播放| 攻颤抖着哭腔张开腿H总攻| 国产aⅴ日本一区二区三区武则天 动漫吸乳羞漫画免费 | 丰满娇妻大伦换电影| 小雪好爽?好紧?再深一| 群体交乱之放荡娇妻A片视频| 又色又爽又黄的网站| 80s毛片A毛片免费看| 91丁香亚洲综合社区| 宝宝好大好深好涨水多| 欧美精品国产AⅤ一区二区在线| 嗯嗯用力啊| 国产一级片网址| 国产美乳在线观看| 亚洲AV无码乱码精品国产60后| 英语老师乖乖打开裙子视频| 二级韩国片完整版电影| 中文字幕一区二区三区556624小时福利入口 | 精品人妻无码一区二区奶茶视频| 看一级西门庆和潘金莲| 推女郎尤果网无圣光图图片 | 免费婬乱AAA大片18禁视频| 一本大道在线视频| 国产一区二区免费福利片| 深夜国产成人福利在线观看女同| 国产做爰免费视频观看| 色综合久久综合网欧美综合网| 黑怕女孩在线播放免费| 波多野邻居电梯MIAA165| 李采潭一级毛片高清免费观看| 亚洲熟妇色????| 男生一边吃胸一边摸屁股| 6996电视影片免费人数之町| 可以看污视频的网站| 久久国产精品偷任你爽任你A|