求一个存储过程 插入多条数据

frenzy917 2006-04-06 09:37:07
表有A,B,C,D,E一共5列都是char(2),里面的值得格式是01
求一个存储过程,向表中插入数据
给出b= 2 ,c= 1 ,d= 2 ,e= 3 这4个值
插入数据中A的值为表中存在的A的最大值+1,如果没有则为1
出入如下数据:(设表是空表)
A B C D E
01 01 01 01 01
01 01 01 01 02
01 01 01 01 03
01 01 01 02 01
01 01 01 02 02
01 01 01 02 03
01 02 01 01 01
01 02 01 01 02
01 02 01 01 03
01 02 01 02 01
01 02 01 02 02
01 02 01 02 03
...全文
298 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frenzy917 2006-04-06
  • 打赏
  • 举报
回复
谢谢大家帮忙~~~
子陌红尘 2006-04-06
  • 打赏
  • 举报
回复
insert into t select '0'+rtrim(@AA),'0'+rtrim(@BB),'0'+rtrim(@CC),'0'+rtrim(@DD),'0'+rtrim(@EE)

==>

insert into t select right('0'+rtrim(@AA),2),'0'+right(rtrim(@BB),2),'0'+right(rtrim(@CC),2),'0'+right(rtrim(@DD),2),'0'+right(rtrim(@EE),2)
dulei115 2006-04-06
  • 打赏
  • 举报
回复
改一下insert语句应该就可以了

insert into t select right(cast(100 + @AA as varchar(3)), 2), right(cast(100 + @BB as varchar(3)), 2), right(cast(100 + @CC as varchar(3)), 2), right(cast(100 + @DD as varchar(3)), 2), right(cast(100 + @EE as varchar(3)), 2)
frenzy917 2006-04-06
  • 打赏
  • 举报
回复
这个可以插入2位数的值么?比如我要输入@B=10
子陌红尘 2006-04-06
  • 打赏
  • 举报
回复
create table t(A char(2),B char(2),C char(2),D char(2),E char(2))
go

create procedure sp_insert(@B int,@C int,@D int,@E int)
as
begin
declare @AA int,@BB int,@CC int,@DD int,@EE int
select @AA=isnull(max(a),0)+1,@BB=1,@CC=1,@DD=1,@EE=1 from t

while @BB<=@B
begin
while @CC<=@C
begin
while @DD<=@D
begin
while @EE<=@E
begin
insert into t select '0'+rtrim(@AA),'0'+rtrim(@BB),'0'+rtrim(@CC),'0'+rtrim(@DD),'0'+rtrim(@EE)
set @EE=@EE+1
end
select @DD=@DD+1,@EE=1
end
select @CC=@CC+1,@DD=1,@EE=1
end
select @BB=@BB+1,@CC=1,@DD=1,@EE=1
end
end
go

exec sp_insert 2,1,2,3
select * from t
/*
A B C D E
---- ---- ---- ---- ----
01 01 01 01 01
01 01 01 01 02
01 01 01 01 03
01 01 01 02 01
01 01 01 02 02
01 01 01 02 03
01 02 01 01 01
01 02 01 01 02
01 02 01 01 03
01 02 01 02 01
01 02 01 02 02
01 02 01 02 03
*/
go

drop procedure sp_insert
drop table t
go
frenzy917 2006-04-06
  • 打赏
  • 举报
回复
如果再执行一次的话,就插入如下表
A B C D E
02 01 01 01 01
02 01 01 01 02
02 01 01 01 03
02 01 01 02 01
02 01 01 02 02
02 01 01 02 03
02 02 01 01 01
02 02 01 01 02
02 02 01 01 03
02 02 01 02 01
02 02 01 02 02
02 02 01 02 03

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧