编程趣事:SQL Error 191

Alex Papadimoulis曾发表过一篇博文《SQL Error 191: Nested Way Too F#%&ing Deeply》,文中表示他软件界中有很多有趣的事,就拿HTTP 414 错误:请求的URI太长来说,Alex Papadimoulis就发现了一个嵌套达500层的令人唏嘘的SQL语句,你想见识一下这个SQL语句吧。感谢外刊IT评论翻译了本文,现转载于此,供大家分享。全文如下:

软件开发里有很多有趣的事情,你通常只接触某种特定类型的应用,见识太少。比如,这HTTP 414 错误:请求的URI太长。对于这个长度没有一个标准的上限,很多web服务器都没有说明多长的GET请求会太长。

当我在维护这家公司的服务处的应用时,Ben在SQL Server里发现了一个相似类型的错误。

  1. Incorrect syntax near '('.  
  2. //你的一部分SQL语句嵌套的太深。  
  3. Some part of your SQL statement is nested too deeply.  
  4. //请重写你的查询语句,或把它们分成小语句。  
  5. Rewrite the query or break it up into smaller queries. 

错误代码是Error 191——又是一个没有标准上限的错误——由下面的查询语句触发。

  1. SELECT DISTINCT COUNT(Task.RecId)  
  2.   FROM Task  
  3.  WHERE (Task.TaskType = @P514)  
  4.    AND (Task.Status = @P1)  
  5.    AND (Task.RecId is not null)  
  6.    AND ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  7.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  8.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  9.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  10.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  11.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  12.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  13.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  14.        ((((((((((((((((((((((((((((((((((((((((((((((((((((  
  15.        (((((((((((((((((((((((((((((((((((((((((((  
  16.             (Task.OwnerTeam = @P2)  
  17.             AND (Task.OwnerTeam = @P3))  
  18.             AND (Task.OwnerTeam = @P4))  
  19.             AND (Task.OwnerTeam = @P5))  
  20.             AND (Task.OwnerTeam = @P6))  
  21.             AND (Task.OwnerTeam = @P7))  
  22.             AND (Task.OwnerTeam = @P8))  
  23.             AND (Task.OwnerTeam = @P9))  
  24.             AND (Task.OwnerTeam = @P10))  
  25.             AND (Task.OwnerTeam = @P11))  
  26.             AND (Task.OwnerTeam = @P12))  
  27.             AND (Task.OwnerTeam = @P13))  
  28.             AND (Task.OwnerTeam = @P14))  
  29.             AND (Task.OwnerTeam = @P15))  
  30.             AND (Task.OwnerTeam = @P16))  
  31.             AND (Task.OwnerTeam = @P17))  
  32.             AND (Task.OwnerTeam = @P18))  
  33.             AND (Task.OwnerTeam = @P19))  
  34.             AND (Task.OwnerTeam = @P20))  
  35.             AND (Task.OwnerTeam = @P21))  
  36.             AND (Task.OwnerTeam = @P22))  
  37.             AND (Task.OwnerTeam = @P23))  
  38.             AND (Task.OwnerTeam = @P24))  
  39.             AND (Task.OwnerTeam = @P25))  
  40.             AND (Task.OwnerTeam = @P26))  
  41.             AND (Task.OwnerTeam = @P27))  
  42.             AND (Task.OwnerTeam = @P28))  
  43.             AND (Task.OwnerTeam = @P29))  
  44.             AND (Task.OwnerTeam = @P30))  
  45.             AND (Task.OwnerTeam = @P31))  
  46.             AND (Task.OwnerTeam = @P32))  
  47.             AND (Task.OwnerTeam = @P33))  
  48.             AND (Task.OwnerTeam = @P34))  
  49.             AND (Task.OwnerTeam = @P35))  
  50.             AND (Task.OwnerTeam = @P36))  
  51.             AND (Task.OwnerTeam = @P37))  
  52.             AND (Task.OwnerTeam = @P38))  
  53.             AND (Task.OwnerTeam = @P39))  
  54.             AND (Task.OwnerTeam = @P40))  
  55.             AND (Task.OwnerTeam = @P41))  
  56.             AND (Task.OwnerTeam = @P42))  
  57.             AND (Task.OwnerTeam = @P43))  
  58.             AND (Task.OwnerTeam = @P44))  
  59.             AND (Task.OwnerTeam = @P45))  
  60.             AND (Task.OwnerTeam = @P46))  
  61.             AND (Task.OwnerTeam = @P47))  
  62.             AND (Task.OwnerTeam = @P48))  
  63.             AND (Task.OwnerTeam = @P49))  
  64.             AND (Task.OwnerTeam = @P50))  
  65.             AND (Task.OwnerTeam = @P51))  
  66.             AND (Task.OwnerTeam = @P52))  
  67.             AND (Task.OwnerTeam = @P53))  
  68.             AND (Task.OwnerTeam = @P54))  
  69.             AND (Task.OwnerTeam = @P55))  
  70.             AND (Task.OwnerTeam = @P56))  
  71.             AND (Task.OwnerTeam = @P57))  
  72.             AND (Task.OwnerTeam = @P58))  
  73.             AND (Task.OwnerTeam = @P59))  
  74.             AND (Task.OwnerTeam = @P60))  
  75.             AND (Task.OwnerTeam = @P61))  
  76.             AND (Task.OwnerTeam = @P62))  
  77.             AND (Task.OwnerTeam = @P63))  
  78.             AND (Task.OwnerTeam = @P64))  
  79.             AND (Task.OwnerTeam = @P65))  
  80.             AND (Task.OwnerTeam = @P66))  
  81.             AND (Task.OwnerTeam = @P67))  
  82.             AND (Task.OwnerTeam = @P68))  
  83.             AND (Task.OwnerTeam = @P69))  
  84.             AND (Task.OwnerTeam = @P70))  
  85.             AND (Task.OwnerTeam = @P71))  
  86.             AND (Task.OwnerTeam = @P72))  
  87.             AND (Task.OwnerTeam = @P73))  
  88.             AND (Task.OwnerTeam = @P74))  
  89.             AND (Task.OwnerTeam = @P75))  
  90.             AND (Task.OwnerTeam = @P76))  
  91.             AND (Task.OwnerTeam = @P77))  
  92.             AND (Task.OwnerTeam = @P78))  
  93.             AND (Task.OwnerTeam = @P79))  
  94.             AND (Task.OwnerTeam = @P80))  
  95.             AND (Task.OwnerTeam = @P81))  
  96.             AND (Task.OwnerTeam = @P82))  
  97.             AND (Task.OwnerTeam = @P83))  
  98.             AND (Task.OwnerTeam = @P84))  
  99.             AND (Task.OwnerTeam = @P85))  
  100.             AND (Task.OwnerTeam = @P86))  
  101.             AND (Task.OwnerTeam = @P87))  
  102.             AND (Task.OwnerTeam = @P88))  
  103.             AND (Task.OwnerTeam = @P89))  
  104.             AND (Task.OwnerTeam = @P90))  
  105.             AND (Task.OwnerTeam = @P91))  
  106.             AND (Task.OwnerTeam = @P92))  
  107.             AND (Task.OwnerTeam = @P93))  
  108.             AND (Task.OwnerTeam = @P94))  
  109.             AND (Task.OwnerTeam = @P95))  
  110.             AND (Task.OwnerTeam = @P96))  
  111.             AND (Task.OwnerTeam = @P97))  
  112.             AND (Task.OwnerTeam = @P98))  
  113.             AND (Task.OwnerTeam = @P99))  
  114.             AND (Task.OwnerTeam = @P100))  
  115.             AND (Task.OwnerTeam = @P101))  
  116.             AND (Task.OwnerTeam = @P102))  
  117.             AND (Task.OwnerTeam = @P103))  
  118.             AND (Task.OwnerTeam = @P104))  
  119.             AND (Task.OwnerTeam = @P105))  
  120.             AND (Task.OwnerTeam = @P106))  
  121.             AND (Task.OwnerTeam = @P107))  
  122.             AND (Task.OwnerTeam = @P108))  
  123.             AND (Task.OwnerTeam = @P109))  
  124.             AND (Task.OwnerTeam = @P110))  
  125.             AND (Task.OwnerTeam = @P111))  
  126.             AND (Task.OwnerTeam = @P112))  
  127.             AND (Task.OwnerTeam = @P113))  
  128.             AND (Task.OwnerTeam = @P114))  
  129.             AND (Task.OwnerTeam = @P115))  
  130.             AND (Task.OwnerTeam = @P116))  
  131.             AND (Task.OwnerTeam = @P117))  
  132.             AND (Task.OwnerTeam = @P118))  
  133.             AND (Task.OwnerTeam = @P119))  
  134.             AND (Task.OwnerTeam = @P120))  
  135.             AND (Task.OwnerTeam = @P121))  
  136.             AND (Task.OwnerTeam = @P122))  
  137.             AND (Task.OwnerTeam = @P123))  
  138.             AND (Task.OwnerTeam = @P124))  
  139.             AND (Task.OwnerTeam = @P125))  
  140.             AND (Task.OwnerTeam = @P126))  
  141.             AND (Task.OwnerTeam = @P127))  
  142.             AND (Task.OwnerTeam = @P128))  
  143.             AND (Task.OwnerTeam = @P129))  
  144.             AND (Task.OwnerTeam = @P130))  
  145.             AND (Task.OwnerTeam = @P131))  
  146.             AND (Task.OwnerTeam = @P132))  
  147.             AND (Task.OwnerTeam = @P133))  
  148.             AND (Task.OwnerTeam = @P134))  
  149.             AND (Task.OwnerTeam = @P135))  
  150.             AND (Task.OwnerTeam = @P136))  
  151.             AND (Task.OwnerTeam = @P137))  
  152.             AND (Task.OwnerTeam = @P138))  
  153.             AND (Task.OwnerTeam = @P139))  
  154.             AND (Task.OwnerTeam = @P140))  
  155.             AND (Task.OwnerTeam = @P141))  
  156.             AND (Task.OwnerTeam = @P142))  
  157.             AND (Task.OwnerTeam = @P143))  
  158.             AND (Task.OwnerTeam = @P144))  
  159.             AND (Task.OwnerTeam = @P145))  
  160.             AND (Task.OwnerTeam = @P146))  
  161.             AND (Task.OwnerTeam = @P147))  
  162.             AND (Task.OwnerTeam = @P148))  
  163.             AND (Task.OwnerTeam = @P149))  
  164.             AND (Task.OwnerTeam = @P150))  
  165.             AND (Task.OwnerTeam = @P151))  
  166.             AND (Task.OwnerTeam = @P152))  
  167.             AND (Task.OwnerTeam = @P153))  
  168.             AND (Task.OwnerTeam = @P154))  
  169.             AND (Task.OwnerTeam = @P155))  
  170.             AND (Task.OwnerTeam = @P156))  
  171.             AND (Task.OwnerTeam = @P157))  
  172.             AND (Task.OwnerTeam = @P158))  
  173.             AND (Task.OwnerTeam = @P159))  
  174.             AND (Task.OwnerTeam = @P160))  
  175.             AND (Task.OwnerTeam = @P161))  
  176.             AND (Task.OwnerTeam = @P162))  
  177.             AND (Task.OwnerTeam = @P163))  
  178.             AND (Task.OwnerTeam = @P164))  
  179.             AND (Task.OwnerTeam = @P165))  
  180.             AND (Task.OwnerTeam = @P166))  
  181.             AND (Task.OwnerTeam = @P167))  
  182.             AND (Task.OwnerTeam = @P168))  
  183.             AND (Task.OwnerTeam = @P169))  
  184.             AND (Task.OwnerTeam = @P170))  
  185.             AND (Task.OwnerTeam = @P171))  
  186.             AND (Task.OwnerTeam = @P172))  
  187.             AND (Task.OwnerTeam = @P173))  
  188.             AND (Task.OwnerTeam = @P174))  
  189.             AND (Task.OwnerTeam = @P175))  
  190.             AND (Task.OwnerTeam = @P176))  
  191.             AND (Task.OwnerTeam = @P177))  
  192.             AND (Task.OwnerTeam = @P178))  
  193.             AND (Task.OwnerTeam = @P179))  
  194.             AND (Task.OwnerTeam = @P180))  
  195.             AND (Task.OwnerTeam = @P181))  
  196.             AND (Task.OwnerTeam = @P182))  
  197.             AND (Task.OwnerTeam = @P183))  
  198.             AND (Task.OwnerTeam = @P184))  
  199.             AND (Task.OwnerTeam = @P185))  
  200.             AND (Task.OwnerTeam = @P186))  
  201.             AND (Task.OwnerTeam = @P187))  
  202.             AND (Task.OwnerTeam = @P188))  
  203.             AND (Task.OwnerTeam = @P189))  
  204.             AND (Task.OwnerTeam = @P190))  
  205.             AND (Task.OwnerTeam = @P191))  
  206.             AND (Task.OwnerTeam = @P192))  
  207.             AND (Task.OwnerTeam = @P193))  
  208.             AND (Task.OwnerTeam = @P194))  
  209.             AND (Task.OwnerTeam = @P195))  
  210.             AND (Task.OwnerTeam = @P196))  
  211.             AND (Task.OwnerTeam = @P197))  
  212.             AND (Task.OwnerTeam = @P198))  
  213.             AND (Task.OwnerTeam = @P199))  
  214.             AND (Task.OwnerTeam = @P200))  
  215.             AND (Task.OwnerTeam = @P201))  
  216.             AND (Task.OwnerTeam = @P202))  
  217.             AND (Task.OwnerTeam = @P203))  
  218.             AND (Task.OwnerTeam = @P204))  
  219.             AND (Task.OwnerTeam = @P205))  
  220.             AND (Task.OwnerTeam = @P206))  
  221.             AND (Task.OwnerTeam = @P207))  
  222.             AND (Task.OwnerTeam = @P208))  
  223.             AND (Task.OwnerTeam = @P209))  
  224.             AND (Task.OwnerTeam = @P210))  
  225.             AND (Task.OwnerTeam = @P211))  
  226.             AND (Task.OwnerTeam = @P212))  
  227.             AND (Task.OwnerTeam = @P213))  
  228.             AND (Task.OwnerTeam = @P214))  
  229.             AND (Task.OwnerTeam = @P215))  
  230.             AND (Task.OwnerTeam = @P216))  
  231.             AND (Task.OwnerTeam = @P217))  
  232.             AND (Task.OwnerTeam = @P218))  
  233.             AND (Task.OwnerTeam = @P219))  
  234.             AND (Task.OwnerTeam = @P220))  
  235.             AND (Task.OwnerTeam = @P221))  
  236.             AND (Task.OwnerTeam = @P222))  
  237.             AND (Task.OwnerTeam = @P223))  
  238.             AND (Task.OwnerTeam = @P224))  
  239.             AND (Task.OwnerTeam = @P225))  
  240.             AND (Task.OwnerTeam = @P226))  
  241.             AND (Task.OwnerTeam = @P227))  
  242.             AND (Task.OwnerTeam = @P228))  
  243.             AND (Task.OwnerTeam = @P229))  
  244.             AND (Task.OwnerTeam = @P230))  
  245.             AND (Task.OwnerTeam = @P231))  
  246.             AND (Task.OwnerTeam = @P232))  
  247.             AND (Task.OwnerTeam = @P233))  
  248.             AND (Task.OwnerTeam = @P234))  
  249.             AND (Task.OwnerTeam = @P235))  
  250.             AND (Task.OwnerTeam = @P236))  
  251.             AND (Task.OwnerTeam = @P237))  
  252.             AND (Task.OwnerTeam = @P238))  
  253.             AND (Task.OwnerTeam = @P239))  
  254.             AND (Task.OwnerTeam = @P240))  
  255.             AND (Task.OwnerTeam = @P241))  
  256.             AND (Task.OwnerTeam = @P242))  
  257.             AND (Task.OwnerTeam = @P243))  
  258.             AND (Task.OwnerTeam = @P244))  
  259.             AND (Task.OwnerTeam = @P245))  
  260.             AND (Task.OwnerTeam = @P246))  
  261.             AND (Task.OwnerTeam = @P247))  
  262.             AND (Task.OwnerTeam = @P248))  
  263.             AND (Task.OwnerTeam = @P249))  
  264.             AND (Task.OwnerTeam = @P250))  
  265.             AND (Task.OwnerTeam = @P251))  
  266.             AND (Task.OwnerTeam = @P252))  
  267.             AND (Task.OwnerTeam = @P253))  
  268.             AND (Task.OwnerTeam = @P254))  
  269.             AND (Task.OwnerTeam = @P255))  
  270.             AND (Task.OwnerTeam = @P256))  
  271.             AND (Task.OwnerTeam = @P257))  
  272.             AND (Task.OwnerTeam = @P258))  
  273.             AND (Task.OwnerTeam = @P259))  
  274.             AND (Task.OwnerTeam = @P260))  
  275.             AND (Task.OwnerTeam = @P261))  
  276.             AND (Task.OwnerTeam = @P262))  
  277.             AND (Task.OwnerTeam = @P263))  
  278.             AND (Task.OwnerTeam = @P264))  
  279.             AND (Task.OwnerTeam = @P265))  
  280.             AND (Task.OwnerTeam = @P266))  
  281.             AND (Task.OwnerTeam = @P267))  
  282.             AND (Task.OwnerTeam = @P268))  
  283.             AND (Task.OwnerTeam = @P269))  
  284.             AND (Task.OwnerTeam = @P270))  
  285.             AND (Task.OwnerTeam = @P271))  
  286.             AND (Task.OwnerTeam = @P272))  
  287.             AND (Task.OwnerTeam = @P273))  
  288.             AND (Task.OwnerTeam = @P274))  
  289.             AND (Task.OwnerTeam = @P275))  
  290.             AND (Task.OwnerTeam = @P276))  
  291.             AND (Task.OwnerTeam = @P277))  
  292.             AND (Task.OwnerTeam = @P278))  
  293.             AND (Task.OwnerTeam = @P279))  
  294.             AND (Task.OwnerTeam = @P280))  
  295.             AND (Task.OwnerTeam = @P281))  
  296.             AND (Task.OwnerTeam = @P282))  
  297.             AND (Task.OwnerTeam = @P283))  
  298.             AND (Task.OwnerTeam = @P284))  
  299.             AND (Task.OwnerTeam = @P285))  
  300.             AND (Task.OwnerTeam = @P286))  
  301.             AND (Task.OwnerTeam = @P287))  
  302.             AND (Task.OwnerTeam = @P288))  
  303.             AND (Task.OwnerTeam = @P289))  
  304.             AND (Task.OwnerTeam = @P290))  
  305.             AND (Task.OwnerTeam = @P291))  
  306.             AND (Task.OwnerTeam = @P292))  
  307.             AND (Task.OwnerTeam = @P293))  
  308.             AND (Task.OwnerTeam = @P294))  
  309.             AND (Task.OwnerTeam = @P295))  
  310.             AND (Task.OwnerTeam = @P296))  
  311.             AND (Task.OwnerTeam = @P297))  
  312.             AND (Task.OwnerTeam = @P298))  
  313.             AND (Task.OwnerTeam = @P299))  
  314.             AND (Task.OwnerTeam = @P300))  
  315.             AND (Task.OwnerTeam = @P301))  
  316.             AND (Task.OwnerTeam = @P302))  
  317.             AND (Task.OwnerTeam = @P303))  
  318.             AND (Task.OwnerTeam = @P304))  
  319.             AND (Task.OwnerTeam = @P305))  
  320.             AND (Task.OwnerTeam = @P306))  
  321.             AND (Task.OwnerTeam = @P307))  
  322.             AND (Task.OwnerTeam = @P308))  
  323.             AND (Task.OwnerTeam = @P309))  
  324.             AND (Task.OwnerTeam = @P310))  
  325.             AND (Task.OwnerTeam = @P311))  
  326.             AND (Task.OwnerTeam = @P312))  
  327.             AND (Task.OwnerTeam = @P313))  
  328.             AND (Task.OwnerTeam = @P314))  
  329.             AND (Task.OwnerTeam = @P315))  
  330.             AND (Task.OwnerTeam = @P316))  
  331.             AND (Task.OwnerTeam = @P317))  
  332.             AND (Task.OwnerTeam = @P318))  
  333.             AND (Task.OwnerTeam = @P319))  
  334.             AND (Task.OwnerTeam = @P320))  
  335.             AND (Task.OwnerTeam = @P321))  
  336.             AND (Task.OwnerTeam = @P322))  
  337.             AND (Task.OwnerTeam = @P323))  
  338.             AND (Task.OwnerTeam = @P324))  
  339.             AND (Task.OwnerTeam = @P325))  
  340.             AND (Task.OwnerTeam = @P326))  
  341.             AND (Task.OwnerTeam = @P327))  
  342.             AND (Task.OwnerTeam = @P328))  
  343.             AND (Task.OwnerTeam = @P329))  
  344.             AND (Task.OwnerTeam = @P330))  
  345.             AND (Task.OwnerTeam = @P331))  
  346.             AND (Task.OwnerTeam = @P332))  
  347.             AND (Task.OwnerTeam = @P333))  
  348.             AND (Task.OwnerTeam = @P334))  
  349.             AND (Task.OwnerTeam = @P335))  
  350.             AND (Task.OwnerTeam = @P336))  
  351.             AND (Task.OwnerTeam = @P337))  
  352.             AND (Task.OwnerTeam = @P338))  
  353.             AND (Task.OwnerTeam = @P339))  
  354.             AND (Task.OwnerTeam = @P340))  
  355.             AND (Task.OwnerTeam = @P341))  
  356.             AND (Task.OwnerTeam = @P342))  
  357.             AND (Task.OwnerTeam = @P343))  
  358.             AND (Task.OwnerTeam = @P344))  
  359.             AND (Task.OwnerTeam = @P345))  
  360.             AND (Task.OwnerTeam = @P346))  
  361.             AND (Task.OwnerTeam = @P347))  
  362.             AND (Task.OwnerTeam = @P348))  
  363.             AND (Task.OwnerTeam = @P349))  
  364.             AND (Task.OwnerTeam = @P350))  
  365.             AND (Task.OwnerTeam = @P351))  
  366.             AND (Task.OwnerTeam = @P352))  
  367.             AND (Task.OwnerTeam = @P353))  
  368.             AND (Task.OwnerTeam = @P354))  
  369.             AND (Task.OwnerTeam = @P355))  
  370.             AND (Task.OwnerTeam = @P356))  
  371.             AND (Task.OwnerTeam = @P357))  
  372.             AND (Task.OwnerTeam = @P358))  
  373.             AND (Task.OwnerTeam = @P359))  
  374.             AND (Task.OwnerTeam = @P360))  
  375.             AND (Task.OwnerTeam = @P361))  
  376.             AND (Task.OwnerTeam = @P362))  
  377.             AND (Task.OwnerTeam = @P363))  
  378.             AND (Task.OwnerTeam = @P364))  
  379.             AND (Task.OwnerTeam = @P365))  
  380.             AND (Task.OwnerTeam = @P366))  
  381.             AND (Task.OwnerTeam = @P367))  
  382.             AND (Task.OwnerTeam = @P368))  
  383.             AND (Task.OwnerTeam = @P369))  
  384.             AND (Task.OwnerTeam = @P370))  
  385.             AND (Task.OwnerTeam = @P371))  
  386.             AND (Task.OwnerTeam = @P372))  
  387.             AND (Task.OwnerTeam = @P373))  
  388.             AND (Task.OwnerTeam = @P374))  
  389.             AND (Task.OwnerTeam = @P375))  
  390.             AND (Task.OwnerTeam = @P376))  
  391.             AND (Task.OwnerTeam = @P377))  
  392.             AND (Task.OwnerTeam = @P378))  
  393.             AND (Task.OwnerTeam = @P379))  
  394.             AND (Task.OwnerTeam = @P380))  
  395.             AND (Task.OwnerTeam = @P381))  
  396.             AND (Task.OwnerTeam = @P382))  
  397.             AND (Task.OwnerTeam = @P383))  
  398.             AND (Task.OwnerTeam = @P384))  
  399.             AND (Task.OwnerTeam = @P385))  
  400.             AND (Task.OwnerTeam = @P386))  
  401.             AND (Task.OwnerTeam = @P387))  
  402.             AND (Task.OwnerTeam = @P388))  
  403.             AND (Task.OwnerTeam = @P389))  
  404.             AND (Task.OwnerTeam = @P390))  
  405.             AND (Task.OwnerTeam = @P391))  
  406.             AND (Task.OwnerTeam = @P392))  
  407.             AND (Task.OwnerTeam = @P393))  
  408.             AND (Task.OwnerTeam = @P394))  
  409.             AND (Task.OwnerTeam = @P395))  
  410.             AND (Task.OwnerTeam = @P396))  
  411.             AND (Task.OwnerTeam = @P397))  
  412.             AND (Task.OwnerTeam = @P398))  
  413.             AND (Task.OwnerTeam = @P399))  
  414.             AND (Task.OwnerTeam = @P400))  
  415.             AND (Task.OwnerTeam = @P401))  
  416.             AND (Task.OwnerTeam = @P402))  
  417.             AND (Task.OwnerTeam = @P403))  
  418.             AND (Task.OwnerTeam = @P404))  
  419.             AND (Task.OwnerTeam = @P405))  
  420.             AND (Task.OwnerTeam = @P406))  
  421.             AND (Task.OwnerTeam = @P407))  
  422.             AND (Task.OwnerTeam = @P408))  
  423.             AND (Task.OwnerTeam = @P409))  
  424.             AND (Task.OwnerTeam = @P410))  
  425.             AND (Task.OwnerTeam = @P411))  
  426.             AND (Task.OwnerTeam = @P412))  
  427.             AND (Task.OwnerTeam = @P413))  
  428.             AND (Task.OwnerTeam = @P414))  
  429.             AND (Task.OwnerTeam = @P415))  
  430.             AND (Task.OwnerTeam = @P416))  
  431.             AND (Task.OwnerTeam = @P417))  
  432.             AND (Task.OwnerTeam = @P418))  
  433.             AND (Task.OwnerTeam = @P419))  
  434.             AND (Task.OwnerTeam = @P420))  
  435.             AND (Task.OwnerTeam = @P421))  
  436.             AND (Task.OwnerTeam = @P422))  
  437.             AND (Task.OwnerTeam = @P423))  
  438.             AND (Task.OwnerTeam = @P424))  
  439.             AND (Task.OwnerTeam = @P425))  
  440.             AND (Task.OwnerTeam = @P426))  
  441.             AND (Task.OwnerTeam = @P427))  
  442.             AND (Task.OwnerTeam = @P428))  
  443.             AND (Task.OwnerTeam = @P429))  
  444.             AND (Task.OwnerTeam = @P430))  
  445.             AND (Task.OwnerTeam = @P431))  
  446.             AND (Task.OwnerTeam = @P432))  
  447.             AND (Task.OwnerTeam = @P433))  
  448.             AND (Task.OwnerTeam = @P434))  
  449.             AND (Task.OwnerTeam = @P435))  
  450.             AND (Task.OwnerTeam = @P436))  
  451.             AND (Task.OwnerTeam = @P437))  
  452.             AND (Task.OwnerTeam = @P438))  
  453.             AND (Task.OwnerTeam = @P439))  
  454.             AND (Task.OwnerTeam = @P440))  
  455.             AND (Task.OwnerTeam = @P441))  
  456.             AND (Task.OwnerTeam = @P442))  
  457.             AND (Task.OwnerTeam = @P443))  
  458.             AND (Task.OwnerTeam = @P444))  
  459.             AND (Task.OwnerTeam = @P445))  
  460.             AND (Task.OwnerTeam = @P446))  
  461.             AND (Task.OwnerTeam = @P447))  
  462.             AND (Task.OwnerTeam = @P448))  
  463.             AND (Task.OwnerTeam = @P449))  
  464.             AND (Task.OwnerTeam = @P450))  
  465.             AND (Task.OwnerTeam = @P451))  
  466.             AND (Task.OwnerTeam = @P452))  
  467.             AND (Task.OwnerTeam = @P453))  
  468.             AND (Task.OwnerTeam = @P454))  
  469.             AND (Task.OwnerTeam = @P455))  
  470.             AND (Task.OwnerTeam = @P456))  
  471.             AND (Task.OwnerTeam = @P457))  
  472.             AND (Task.OwnerTeam = @P458))  
  473.             AND (Task.OwnerTeam = @P459))  
  474.             AND (Task.OwnerTeam = @P460))  
  475.             AND (Task.OwnerTeam = @P461))  
  476.             AND (Task.OwnerTeam = @P462))  
  477.             AND (Task.OwnerTeam = @P463))  
  478.             AND (Task.OwnerTeam = @P464))  
  479.             AND (Task.OwnerTeam = @P465))  
  480.             AND (Task.OwnerTeam = @P466))  
  481.             AND (Task.OwnerTeam = @P467))  
  482.             AND (Task.OwnerTeam = @P468))  
  483.             AND (Task.OwnerTeam = @P469))  
  484.             AND (Task.OwnerTeam = @P470))  
  485.             AND (Task.OwnerTeam = @P471))  
  486.             AND (Task.OwnerTeam = @P472))  
  487.             AND (Task.OwnerTeam = @P473))  
  488.             AND (Task.OwnerTeam = @P474))  
  489.             AND (Task.OwnerTeam = @P475))  
  490.             AND (Task.OwnerTeam = @P476))  
  491.             AND (Task.OwnerTeam = @P477))  
  492.             AND (Task.OwnerTeam = @P478))  
  493.             AND (Task.OwnerTeam = @P479))  
  494.             AND (Task.OwnerTeam = @P480))  
  495.             AND (Task.OwnerTeam = @P481))  
  496.             AND (Task.OwnerTeam = @P482))  
  497.             AND (Task.OwnerTeam = @P483))  
  498.             AND (Task.OwnerTeam = @P484))  
  499.             AND (Task.OwnerTeam = @P485))  
  500.             AND (Task.OwnerTeam = @P486))  
  501.             AND (Task.OwnerTeam = @P487))  
  502.             AND (Task.OwnerTeam = @P488))  
  503.             AND (Task.OwnerTeam = @P489))  
  504.             AND (Task.OwnerTeam = @P490))  
  505.             AND (Task.OwnerTeam = @P491))  
  506.             AND (Task.OwnerTeam = @P492))  
  507.             AND (Task.OwnerTeam = @P493))  
  508.             AND (Task.OwnerTeam = @P494))  
  509.             AND (Task.OwnerTeam = @P495))  
  510.             AND (Task.OwnerTeam = @P496))  
  511.             AND (Task.OwnerTeam = @P497))  
  512.             AND (Task.OwnerTeam = @P498))  
  513.             AND (Task.OwnerTeam = @P499))  
  514.             AND (Task.OwnerTeam = @P500))  
  515.             AND (Task.OwnerTeam = @P501))  
  516.             AND (Task.OwnerTeam = @P502))  
  517.             AND (Task.OwnerTeam = @P503))  
  518.             AND (Task.OwnerTeam = @P504))  
  519.             AND (Task.OwnerTeam = @P505))  
  520.             AND (Task.OwnerTeam = @P506))  
  521.             AND (Task.OwnerTeam = @P507))  
  522.             AND (Task.OwnerTeam = @P508))  
  523.             AND (Task.OwnerTeam = @P509))  
  524.             AND (Task.OwnerTeam = @P510))  
  525.             AND (Task.OwnerTeam = @P511))  
  526.             AND (Task.OwnerTeam = @P512))  
  527.             AND (Task.OwnerTeam = @P513))) 

我不得不承认,这个嵌套真是太深了。

原文链接:SQL Error 191: Nested Way Too F#%&ing Deeply

译文链接:http://www.aqee.net/2010/09/16/sql-error-191-nested-way-too-fing-deeply/ 

posted @ 2010-09-16 09:23  张长胜  阅读(196)  评论(0编辑  收藏  举报