在同一查询中使用Set和Between来填充表

时间:2015-12-19 18:59:24

标签: sql-server

我想要做的是使用计数器或我不知道的sql函数填充行。

我可以用

插入EmpSkillsBridge
    (EmpIdFK,EmpSkillFK)     值     (1,1);

This updates one entire record I can even do it in batches of parentheses. 

然而,因为我第一次设置了一个表,因为数据是用于测试(咳嗽作业咳嗽)的原因。我正在努力使它能够创建一整套数据,我有200个EmpID和6个不同的技能。我现在想要的是让第一个25 EmpIdFK和EmpSkillFK成为(1,1)

如果我使用的地方是empIdFk< 26我收到错误。 我尝试使用循环但是新的我在如何实现

方面有点迷失

然后我读了我可以使用之间的声明。所以我的问题是我可以使用set语句并使代码以这种方式工作吗?

进入EmpSkillsBridge

(EmpIdFK,EmpSkillFK) 在哪里(在1和26之间执行)

值 (1,1);

这是解决这个问题的最好方法吗?

2 个答案:

答案 0 :(得分:0)

这样的事情对你有用: -

 insert into EmpSkillsBridge
 (EmpID, EmpSkillsFK)
 select empid, 1 from 
 (
    select ROW_NUMBER() over(order by number) empid
    from master..spt_values
 ) v
 where empid between 1 and 25

答案 1 :(得分:0)

你可以这样做:

Insert into EmpSkillsBridge
Select empid, 1
from employees 
where empid between 1 and 25;