محمد سلیم آبادی
دوشنبه 27 اردیبهشت 1389, 02:15 صبح
خطاب به امین ثباتی،
چرا روش nested cte که BG معرفی کرده خلاقانه و clever هست؟ چون تونسته بدون جدول base و existed داده های متوالی عددی تولید کنه؟ یا اینکه نویسنده چند کتاب هست؟ (اگر جواب درستی به من دادین جایزه دارین :) )
من هر چی که فکر کردم نتونستم جواب این موضوع را پیدا کنم. ولی عیبی نداره این روش که در ادامه معرفی می کنم توسط خودم ابداع شده، پس اگر در آینده در فضای public این روش را دیدید بدونید مختص من بوده. که باید بگم خارج از سال 89 هم روش خوبیه :چشمک:
--My approach for publishing sequence numbers table
--Publishing One million numbers in just ONE SECOND!
WITH RecCTE (n) AS
(SELECT 1
UNION ALL
SELECT n + 1 FROM RecCTE WHERE n < 100),
Nums(n) AS
(SELECT ROW_NUMBER() OVER(ORDER BY (SELECT 1))
FROM RecCTE AS R1
CROSS JOIN RecCTE AS R2
CROSS JOIN RecCTE AS R3)
SELECT n
INTO ##global_temporary_table
FROM Nums
GO
CREATE CLUSTERED INDEX IX_0 ON ##global_temporary_table (n ASC);
GO
SELECT CAST(n AS VARCHAR(7)) + ','
FROM ##global_temporary_table
WHERE n BETWEEN 1 AND 1000
OR n BETWEEN 999000 AND 1000000
FOR XML PATH('');
/*
/*------------------------
SELECT CAST(n AS VARCHAR(7)) + ','
FROM ##global_temporary_table
WHERE n BETWEEN 1 AND 1000
OR n BETWEEN 999000 AND 1000000
FOR XML PATH('');
------------------------*/
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,3 7,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, 54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70 ,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,8 7,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102, 103,104,105,106,107,108,109,110,111,112,113,114,11 5,116,117,118,119,120,121,122,123,124,125,126,127, 128,129,130,131,132,133,134,135,136,137,138,139,14 0,141,142,143,144,145,146,147,148,149,150,151,152, 153,154,155,156,157,158,159,160,161,162,163,164,16 5,166,167,168,169,170,171,172,173,174,175,176,177, 178,179,180,181,182,183,184,185,186,187,188,189,19 0,191,192,193,194,195,196,197,198,199,200,201,202, 203,204,205,206,207,208,209,210,211,212,213,214,21 5,216,217,218,219,220,221,222,223,224,225,226,227, 228,229,230,231,232,233,234,235,236,237,238,239,24 0,241,242,243,244,245,246,247,248,249,250,251,252, 253,254,255,256,257,258,259,260,261,262,263,264,26 5,266,267,268,269,270,271,272,273,274,275,276,277, 278,279,280,281,282,283,284,285,286,287,288,289,29 0,291,292,293,294,295,296,297,298,299,300,301,302, 303,304,305,306,307,308,309,310,311,312,313,314,31 5,316,317,318,319,320,321,322,323,324,325,326,327, 328,329,330,331,332,333,334,335,336,337,338,339,34 0,341,342,343,344,345,346,347,348,349,350,351,352, 353,354,355,356,357,358,359,360,361,362,363,364,36 5,366,367,368,369,370,371,372,373,374,375,376,377, 378,379,380,381,382,383,384,385,386,387,388,389,39 0,391,392,393,394,395,396,397,398,399,400,401,402, 403,404,405,406,407,408,409,410,411,412,413,414,41 5,416,417,418,419,420,421,422,423,424,425,426,427, 428,429,430,431,432,433,434,435,436,437,438,439,44 0,441,442,443,444,445,446,447,448,449,450,451,452, 453,454,455,456,457,458,459,460,461,462,463,464,46 5,466,467,468,469,470,471,472,473,474,475,476,477, 478,479,480,481,482,483,484,485,486,487,488,489,49 0,491,492,493,494,495,496,497,498,499,500,501,502, 503,504,505,506,507,508,509,510,511,512,513,514,51 5,516,517,518,519,520,521,522,523,524,525,526,527, 528,529,530,531,532,533,534,535,5
36,537,538,539,540,541,542,543,544,545,546,547,548 ,549,550,551,552,553,554,555,556,557,558,559,560,5 61,562,563,564,565,566,567,568,569,570,571,572,573 ,574,575,576,577,578,579,580,581,582,583,584,585,5 86,587,588,589,590,591,592,593,594,595,596,597,598 ,599,600,601,602,603,604,605,606,607,608,609,610,6 11,612,613,614,615,616,617,618,619,620,621,622,623 ,624,625,626,627,628,629,630,631,632,633,634,635,6 36,637,638,639,640,641,642,643,644,645,646,647,648 ,649,650,651,652,653,654,655,656,657,658,659,660,6 61,662,663,664,665,666,667,668,669,670,671,672,673 ,674,675,676,677,678,679,680,681,682,683,684,685,6 86,687,688,689,690,691,692,693,694,695,696,697,698 ,699,700,701,702,703,704,705,706,707,708,709,710,7 11,712,713,714,715,716,717,718,719,720,721,722,723 ,724,725,726,727,728,729,730,731,732,733,734,735,7 36,737,738,739,740,741,742,743,744,745,746,747,748 ,749,750,751,752,753,754,755,756,757,758,759,760,7 61,762,763,764,765,766,767,768,769,770,771,772,773 ,774,775,776,777,778,779,780,781,782,783,784,785,7 86,787,788,789,790,791,792,793,794,795,796,797,798 ,799,800,801,802,803,804,805,806,807,808,809,810,8 11,812,813,814,815,816,817,818,819,820,821,822,823 ,824,825,826,827,828,829,830,831,832,833,834,835,8 36,837,838,839,840,841,842,843,844,845,846,847,848 ,849,850,851,852,853,854,855,856,857,858,859,860,8 61,862,863,864,865,866,867,868,869,870,871,872,873 ,874,875,876,877,878,879,880,881,882,883,884,885,8 86,887,888,889,890,891,892,893,894,895,896,897,898 ,899,900,901,902,903,904,905,906,907,908,909,910,9 11,912,913,914,915,916,917,918,919,920,921,922,923 ,924,925,926,927,928,929,930,931,932,933,934,935,9 36,937,938,939,940,941,942,943,944,945,946,947,948 ,949,950,951,952,953,954,955,956,957,958,959,960,9 61,962,963,964,965,966,967,968,969,970,971,972,973 ,974,975,976,977,978,979,980,981,982,983,984,985,9 86,987,988,989,990,991,992,993,994,995,996,997,998 ,999,1000,999000,999001,999002,999003,999004,99900 5,999006,999007,999008,999009,999010,999011,999012 ,999013,999014,999015,999016,999017,999018,999019, 999020,999021,999022,999023,99902
4,999025,999026,999027,999028,999029,999030,999031 ,999032,999033,999034,999035,999036,999037,999038, 999039,999040,999041,999042,999043,999044,999045,9 99046,999047,999048,999049,999050,999051,999052,99 9053,999054,999055,999056,999057,999058,999059,999 060,999061,999062,999063,999064,999065,999066,9990 67,999068,999069,999070,999071,999072,999073,99907 4,999075,999076,999077,999078,999079,999080,999081 ,999082,999083,999084,999085,999086,999087,999088, 999089,999090,999091,999092,999093,999094,999095,9 99096,999097,999098,999099,999100,999101,999102,99 9103,999104,999105,999106,999107,999108,999109,999 110,999111,999112,999113,999114,999115,999116,9991 17,999118,999119,999120,999121,999122,999123,99912 4,999125,999126,999127,999128,999129,999130,999131 ,999132,999133,999134,999135,999136,999137,999138, 999139,999140,999141,999142,999143,999144,999145,9 99146,999147,999148,999149,999150,999151,999152,99 9153,999154,999155,999156,999157,999158,999159,999 160,999161,999162,999163,999164,999165,999166,9991 67,999168,999169,999170,999171,999172,999173,99917 4,999175,999176,999177,999178,999179,999180,999181 ,999182,999183,999184,999185,999186,999187,999188, 999189,999190,999191,999192,999193,999194,999195,9 99196,999197,999198,999199,999200,999201,999202,99 9203,999204,999205,999206,999207,999208,999209,999 210,999211,999212,999213,999214,999215,999216,9992 17,999218,999219,999220,999221,999222,999223,99922 4,999225,999226,999227,999228,999229,999230,999231 ,999232,999233,999234,999235,999236,999237,999238, 999239,999240,999241,999242,999243,999244,999245,9 99246,999247,999248,999249,999250,999251,999252,99 9253,999254,999255,999256,999257,999258,999259,999 260,999261,999262,999263,999264,999265,999266,9992 67,999268,999269,999270,999271,999272,999273,99927 4,999275,999276,999277,999278,999279,999280,999281 ,999282,999283,999284,999285,999286,999287,999288, 999289,999290,999291,999292,999293,999294,999295,9 99296,999297,999298,999299,999300,999301,999302,99 9303,999304,999305,999306,999307,999308,999309,999 310,999311,999312,999313,999314,9
99315,999316,999317,999318,999319,999320,999321,99 9322,999323,999324,999325,999326,999327,999328,999 329,999330,999331,999332,999333,999334,999335,9993 36,999337,999338,999339,999340,999341,999342,99934 3,999344,999345,999346,999347,999348,999349,999350 ,999351,999352,999353,999354,999355,999356,999357, 999358,999359,999360,999361,999362,999363,999364,9 99365,999366,999367,999368,999369,999370,999371,99 9372,999373,999374,999375,999376,999377,999378,999 379,999380,999381,999382,999383,999384,999385,9993 86,999387,999388,999389,999390,999391,999392,99939 3,999394,999395,999396,999397,999398,999399,999400 ,999401,999402,999403,999404,999405,999406,999407, 999408,999409,999410,999411,999412,999413,999414,9 99415,999416,999417,999418,999419,999420,999421,99 9422,999423,999424,999425,999426,999427,999428,999 429,999430,999431,999432,999433,999434,999435,9994 36,999437,999438,999439,999440,999441,999442,99944 3,999444,999445,999446,999447,999448,999449,999450 ,999451,999452,999453,999454,999455,999456,999457, 999458,999459,999460,999461,999462,999463,999464,9 99465,999466,999467,999468,999469,999470,999471,99 9472,999473,999474,999475,999476,999477,999478,999 479,999480,999481,999482,999483,999484,999485,9994 86,999487,999488,999489,999490,999491,999492,99949 3,999494,999495,999496,999497,999498,999499,999500 ,999501,999502,999503,999504,999505,999506,999507, 999508,999509,999510,999511,999512,999513,999514,9 99515,999516,999517,999518,999519,999520,999521,99 9522,999523,999524,999525,999526,999527,999528,999 529,999530,999531,999532,999533,999534,999535,9995 36,999537,999538,999539,999540,999541,999542,99954 3,999544,999545,999546,999547,999548,999549,999550 ,999551,999552,999553,999554,999555,999556,999557, 999558,999559,999560,999561,999562,999563,999564,9 99565,999566,999567,999568,999569,999570,999571,99 9572,999573,999574,999575,999576,999577,999578,999 579,999580,999581,999582,999583,999584,999585,9995 86,999587,999588,999589,999590,999591,999592,99959 3,999594,999595,999596,999597,999598,999599,999600 ,999601,999602,999603,999604,9996
05,999606,999607,999608,999609,999610,999611,99961 2,999613,999614,999615,999616,999617,999618,999619 ,999620,999621,999622,999623,999624,999625,999626, 999627,999628,999629,999630,999631,999632,999633,9 99634,999635,999636,999637,999638,999639,999640,99 9641,999642,999643,999644,999645,999646,999647,999 648,999649,999650,999651,999652,999653,999654,9996 55,999656,999657,999658,999659,999660,999661,99966 2,999663,999664,999665,999666,999667,999668,999669 ,999670,999671,999672,999673,999674,999675,999676, 999677,999678,999679,999680,999681,999682,999683,9 99684,999685,999686,999687,999688,999689,999690,99 9691,999692,999693,999694,999695,999696,999697,999 698,999699,999700,999701,999702,999703,999704,9997 05,999706,999707,999708,999709,999710,999711,99971 2,999713,999714,999715,999716,999717,999718,999719 ,999720,999721,999722,999723,999724,999725,999726, 999727,999728,999729,999730,999731,999732,999733,9 99734,999735,999736,999737,999738,999739,999740,99 9741,999742,999743,999744,999745,999746,999747,999 748,999749,999750,999751,999752,999753,999754,9997 55,999756,999757,999758,999759,999760,999761,99976 2,999763,999764,999765,999766,999767,999768,999769 ,999770,999771,999772,999773,999774,999775,999776, 999777,999778,999779,999780,999781,999782,999783,9 99784,999785,999786,999787,999788,999789,999790,99 9791,999792,999793,999794,999795,999796,999797,999 798,999799,999800,999801,999802,999803,999804,9998 05,999806,999807,999808,999809,999810,999811,99981 2,999813,999814,999815,999816,999817,999818,999819 ,999820,999821,999822,999823,999824,999825,999826, 999827,999828,999829,999830,999831,999832,999833,9 99834,999835,999836,999837,999838,999839,999840,99 9841,999842,999843,999844,999845,999846,999847,999 848,999849,999850,999851,999852,999853,999854,9998 55,999856,999857,999858,999859,999860,999861,99986 2,999863,999864,999865,999866,999867,999868,999869 ,999870,999871,999872,999873,999874,999875,999876, 999877,999878,999879,999880,999881,999882,999883,9 99884,999885,999886,999887,999888,999889,999890,99 9891,999892,999893,999894,999895,
999896,999897,999898,999899,999900,999901,999902,9 99903,999904,999905,999906,999907,999908,999909,99 9910,999911,999912,999913,999914,999915,999916,999 917,999918,999919,999920,999921,999922,999923,9999 24,999925,999926,999927,999928,999929,999930,99993 1,999932,999933,999934,999935,999936,999937,999938 ,999939,999940,999941,999942,999943,999944,999945, 999946,999947,999948,999949,999950,999951,999952,9 99953,999954,999955,999956,999957,999958,999959,99 9960,999961,999962,999963,999964,999965,999966,999 967,999968,999969,999970,999971,999972,999973,9999 74,999975,999976,999977,999978,999979,999980,99998 1,999982,999983,999984,999985,999986,999987,999988 ,999989,999990,999991,999992,999993,999994,999995, 999996,999997,999998,999999,1000000,
(2001 row(s) affected)
*/
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.