Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
370 views
in Technique[技术] by (71.8m points)

Why is this very simple cursor breaking SQL Server Management Studio?

I have created an item on the Degree table and I want to duplicate that record for 19 other Colleges. I have a really simple cursor, but every time I run it it totally crashes SQL Server Management Studio. Is there a way to rewrite this query (or another query entirely which performs the same INSERT INTO) so that it does not crash (and actually executes)?

DECLARE @Colleges VARCHAR(200)

DECLARE DUPLICATE_DEGREE CURSOR FOR
SELECT CollegeID FROM Colleges WHERE CollegeName <> 'Main Office'
OPEN DUPLICATE_DEGREE 
FETCH NEXT FROM DUPLICATE_DEGREE INTO @Colleges

WHILE @@FETCH_STATUS = 0
BEGIN

INSERT INTO Degree
(
  DegreeName
, CollegeID
)
SELECT
  DegreeName
, @Colleges
FROM Degrees
WHERE DegreeID = 123

END

CLOSE DUPLICATE_DEGREE 
DEALLOCATE DUPLICATE_DEGREE
question from:https://stackoverflow.com/questions/65892168/why-is-this-very-simple-cursor-breaking-sql-server-management-studio

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

Please log in or register to reply this article.

OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...