SQL插入数据

来源:百度知道 编辑:UC知道 时间:2024/06/08 03:38:51
declare @yu_id int
declare @yu_pm_sj nvarchar(10)
declare @yu_pm_ch nvarchar(10)
declare @yu_tm datetime
select @yu_id=b.yu_id,@yu_pm_sj=a.yu_pm_sj,@yu_pm_ch=a.yu_pm_ch,@yu_tm =a.yu_tm from yu_pm a left join yu_name_1 b on a.yu_name=b.yu_name
insert into yu_pm_1(yu_ID,yu_pm_sj,yu_pm_ch,yu_tm)
values (@yu_id,@yu_pm_sj,@yu_pm_ch,@yu_tm)

为什么我用下面的语句可以查询到20条数据,但我用上面的语句进行插入时只能插入一行;请指正,谢谢!!!

select b.yu_id,a.yu_pm_sj,a.yu_pm_ch,a.yu_tm from yu_pm a right join yu_name_1 b on a.yu_name=b.yu_name
1楼的回答我已经试过了,用那种方法后,只会插入一条空的记录,其他什么都没了,所以,不可用,还有其他方法吗?

请问2楼的可以告诉我怎么做吗?我是菜鸟,不懂!

insert into yu_pm_1(yu_ID,yu_pm_sj,yu_pm_ch,yu_tm)
select b.yu_id,a.yu_pm_sj,a.yu_pm_ch,a.yu_tm from yu_pm a right join yu_name_1 b on a.yu_name=b.yu_name

后面的语句是right join?
这种方法肯定没有问题,如果记录数量不够,肯定是连接方式不一样造成的。

查询条件符合的多,所以查询出来是一个表,有很多项
而插入的时候需要一个一个插入,也就是有多少元组,就要输入多少元组,你上边只输入了一个元组,当然只插入了一行了

写个游标吧