关于杨辉和杨辉三角这里就不介绍了,虽然我一开始也忘了杨辉三角是个怎样的三角,但是网上很多介绍的,总能找到。
SQL并不是高级语言,用SQL实现杨辉三角有点没有必要,但是既然有人提出这个问题,就当做些这玩吧。
我用存储过程和临时表来写,主要是想最后一个select出来结果,而且排成想要的三角形形状。
由于BIGINT数据的限制,最多可以显示67层。
CREATE proc pr_YangHui
@c int
as
/* SQL实现显示杨辉三角 */
/* 版本: 1.0 */
/* 作者: Haiwer */
/* 版权所有 */
/* 2006.05.10 */
set nocount on
if @c<2 return --两层以下就不排了
declare @i int
declare @j int
declare @sql varchar(8000)
declare @sql1 varchar(8000)
declare @sql2 varchar(8000)
create table #(id int IDENTITY(1,1),a50000 bigint)
@c int
as
/* SQL实现显示杨辉三角 */
/* 版本: 1.0 */
/* 作者: Haiwer */
/* 版权所有 */
/* 2006.05.10 */
set nocount on
if @c<2 return --两层以下就不排了
declare @i int
declare @j int
declare @sql varchar(8000)
declare @sql1 varchar(8000)
declare @sql2 varchar(8000)
create table #(id int IDENTITY(1,1),a50000 bigint)
insert #(a50000) values (1) --第一层
set @i&