注册 登录
编程论坛 SQL Server论坛

添加一条本表中的某一条记录一样的记录要什么写?

不惑 发布于 2007-06-24 07:33, 862 次点击
请问,我想添加一条与本表中某一记录相同的一条记录要什么写?有没便捷的写法?
我只会把那一条记录读出来,然后一个字段一个字段地写进去.
SQL = "insert into 入库记录(日期,名称,计量单位,灭菌批号,生产批号,有效日期,入库数量,单价,出库数量,合格证明,质量状况,验收结论,验收员,供货单位,备注,验收日期,名称ID,验收id,出库原因,接收单位) Values('" & Date & "','" & Trim(grecordset("名称")) & " ','" & Trim(grecordset("计量单位")) & "','" & Trim(grecordset("灭菌批号")) & "','" & Trim(grecordset("生产批号")) & "','" & grecordset("有效日期") & "'," & grecordset("出库数量") & "," & rs("单价") & "," & grecordset("入库数量") & ",'" & Trim(grecordset("合格证明")) & "','" & grecordset("质量状况") & "','" & grecordset("验收结论") & "','" & yh & "','" & Trim(grecordset("供货单位")) & "','" & Trim(grecordset("备注")) & "','" & grecordset("验收日期") & "'," & grecordset("名称ID") & "," & grecordset("ID") & ",'冲红','" & grecordset("接收单位") & "')"
gconnect.Execute (SQL)

比如如上所示,这样写好烦,有没有类似:
SQL = "insert into 入库记录(*) where id=222" '当然这样写是不对的
然后把不同的字段UPDATE一下就可以了.因为只有二个不同的字段,一个是"数量",一个是"出库原因",其它全是一样的.

5 回复
#2
songyang2012007-06-24 12:23
insert into 入库记录 select * from 入库记录 where id=222
#3
fqbnet20082007-06-25 14:54
楼上有理 。
#4
Kendy1234562007-06-26 10:07

2楼的方法可行,前提是数据表中没有不能填写的字段类型, 比如 自增字段,TimeStamp字段,Uniqueidentifier字段 等等
如果有这些字段 就不能直接Insert into table1 select * from table1 where id =222了,
必须 Insert into table1 (Field1,Field2,,...Fieldn)
select Field1,Field2,,...Fieldn from table1 where id = 222 ,系统自动更新的字段不能存在列表中

#5
不惑2007-06-28 18:02
谢谢!
这样写应该方便多了
#6
不惑2007-06-28 18:04
因为那个一个冲红的记录.
所有的内容与需要冲红的记录都一样,只是出库原因是冲红的,进或出的数量正好与原来的反一反.
1