선언적 프로그래밍을 사용하는 것을 들었지만 SQL Server 2005에서 이와 같은 작업을 수행하는 방법을 모릅니다. (이 구문은 정말 빨리 입력했기 때문에 모든 구문이 올바른지 확실하지 않지만 이해할 수있을 것입니다. 제가커서 나 루프없이 어떻게 할 수 있습니까?
declare curs cursor for
select @Name, @Description, @Id FROM TableA
open curs
while(1=1)
begin
fetch next from curs into
@Name,
@Description,
@Id
if(@@fetch_status<>0) break
set @recordCount = (SELECT COUNT(*) As RecordCount FROM Class1 WHERE
Class1Id = @Id)
if(@recordCount > 0)
begin
if(@Name = 'BAD NAME') CONTINUE
UPDATE Class1 SET
Name = @Name
, Description = @Description
WHERE Class1Id = @Id
end
else
begin
INSERT INTO Class1 (Class1Id, Name, Description)
VALUES (@Id, @Name, @Description)
end
end
close curs
deallocate curs
는 제목에 귀하의 질문에 태그를하지 마십시오)을 찾고 있어요. 나는 당신이 당신의 타이틀에 추가 한'SQL Server 2005 '를 제거하고 질문의 맨 아래에있는 태그로 옮겼습니다. 감사! –