资源描述:
《sqlserverctes递归功能》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SQLServerCTEs递归功能>>教育资源库 CTEs支持在定义时引用自身,从而可以达到递归的目的,看下面的例子: ---preparetestdata SETNOCOUNTON; CREATETABLEdbo.Parts ( partidINTNOTNULLPRIMARYKEY, partnameVARCHAR(25)NOTNULL ); INSERTINTOdbo.Parts(partid,partname)VALUES(1,'BlackTea'); INSERTINTOdbo.Parts(parti
2、d,partname)VALUES(2,'ilk'); INSERTINTOdbo.Parts(partid,partname)VALUES(12,'CoffeeShot'); INSERTINTOdbo.Parts(partid,partname)VALUES(13,'TeaLeaves'); INSERTINTOdbo.Parts(partid,partname)VALUES(14,' ( partidINTNOTNULLREFERENCESdbo.Parts, assem
3、blyidINTNULLREFERENCESdbo.Parts, unitVARCHAR(3)NOTNULL, qtyDECIMAL(8,2)NOTNULL, UNIQUE(partid,assemblyid), CHECK(partid<>assemblyid) ); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(1,NULL,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty)
4、 VALUES(2,NULL,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(3,NULL,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(4,NULL,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(5,NULL,'EA',
5、1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(6,1,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(7,1,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(10,1,'EA',1.00); INSERTINTOdbo.BOM(partid,asse
6、mblyid,unit,qty) VALUES(14,1,'mL',230.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty)>>>这篇文章来自..,。> VALUES(6,2,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(7,2,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VAL
7、UES(10,2,'EA',1.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(14,2,'mL',205.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(11,2,'mL',25.00); INSERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(6,3,'EA',1.00); INS
8、ERTINTOdbo.BOM(partid,assemblyid,unit,qty) VALUES(7,3,'EA',1.00);