回 帖 发 新 帖 刷新版面

主题:[讨论]欢迎高手来讨论SQL Server中这样的记录怎样添加

我建立这样一个表(pos):结构id char(10),ptype char(10),pname char(10)
表中有一条记录: 0001 01 Tome

现在想动态添加记录9条----pid为0002~0010,ptype和pname 与0001这条记录中的字段值一样(即全部分别为01,Tome)
我编了一段程序如下语法正确,但运行时也正确,但却没作用),希望大家来讨论
declare @i int,@j char(10),@id char(10)
while @i<11
begin
select @i=2
declare @type char(10),@name char(10)
sELECT @type=ptype, @name=pname
FROM pos
WHERE pid = '0001'

select @j='0001'
select @j=str(@i+convert(int,@j),10)
select @id=@j
insert into pos values(@id,@type,@name)
select @i=@i+1
if @i>10
select * from pos
end[em18]

回复列表 (共1个回复)

沙发

declare @i int,@ID char(10)
set @i=2
while @i<11
  begin
    set @ID=substring('0000',len(convert(char,@i)),4-len(convert(char,@i)))+convert(char,@i)/*自动生成ID号*/
    insert pos select @ID,ptype,pname from pos where id='0001'
    set @i=@i+1
  end
select * from pos order by id

id                ptype            pname
0001          01            Tome      
0002          01            Tome      
0003          01            Tome      
0004          01            Tome      
0005          01            Tome      
0006          01            Tome      
0007          01            Tome      
0008          01            Tome      
0009          01            Tome      
0010          01            Tome      

我来回复

您尚未登录,请登录后再回复。点此登录或注册