Met*_*uru 4 sql t-sql sql-server sql-server-2005
[使用SQL Server 2005]
我有一个充满用户的表,我想通过在分配表中创建一个新条目以及在课程跟踪表中的新条目将表中的每个用户(16,000+)分配给一个课程,这样他们的数据就可以了跟踪.问题是我不知道如何在SQL中进行循环,因为我认为你不能,但必须有办法做到这一点......
对于TABLE中的每个用户,使用来自用户TABLE的userID向两个表中的每一个写一行...
我该怎么做?请帮忙!
Sco*_*vey 13
你用2个插入语句来做这个.您希望使用事务来包装它以确保一致性,并且可能需要仔细检查我们的隔离级别,以确保从两个查询之间的users表中获得一致的读取(请查看SNAPSHOT或SERIALIZABLE到避免幻影读取).
BEGIN TRAN
INSERT Courses
(UserID, CourseNumber, ...)
SELECT UserID, 'YourCourseNumberHere', ...
FROM Users
INSERT Assignments
(UserID, AssignmentNumber, ...)
SELECT UserID, 'YourAssignmentNumberHere', ...
FROM Users
COMMIT TRAN
Run Code Online (Sandbox Code Playgroud)
就像是:
insert into CourseAssignment (CourseId, StudentId)
select 1 -- whatever the course number is
, StudendId
from Student
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318 次 |
| 最近记录: |