sql里面循环建列

来源:百度知道 编辑:UC知道 时间:2024/07/03 04:38:37
比如有 表 tab1中
有列 p1,p2 ,p3,p5....p16
我想在tab1表中循环建列。怎么做呢。最好代码。用while循环似乎不行。
是mssql哈。一楼的,系统提示有错误哦

declare @TablName sysname,--表名
@i nvarchar(4),--列数
@s nvarchar(4000)
select @TablName='Tab1',@i=16,@s=''
while @i>0
select @s=',p'+@i+' int'+@s,@i=@i-1
set @s=stuff(@s,1,1,'create table '+@TablName)+')'
print @s--显示
exec(@s)

如果是oracle,用一下方法即可
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列

create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;

当向表中插入数据时,SQL语句写法如下:

SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
"序列名"可以替换为你需要的名字.