를 연결 I 간단한 select 문이 포함 된 저장 프로 시저를 가지고 :저장 프로 시저 및 서버
ALTER PROCEDURE [dbo].[TransferAuditRecords]
As
SET NOCOUNT ON
SET XACT_ABORT ON
Declare @UserCode As varchar(50)
DECLARE AuditCursor CURSOR FOR
select top 1 UserCode from [AuditDatabaseServer].AuditDatabase.dbo.dbaudit where auditdate >= '2012-09-04'
Open AuditCursor
FETCH NEXT FROM AuditCursor INTO @UserCode
WHILE @@FETCH_STATUS = 0
BEGIN
Print @Usercode
FETCH NEXT FROM AuditCursor INTO @UserCode
END
Close AuditCursor
Deallocate AuditCursor
나는 그들이 질문에 무관으로 제외없는 몇 줄의 코드가있다.
SQL Studio Manager 2005에서 저장 프로 시저없이 SQL 문을 실행하면 저장 프로 시저를 실행할 때와 다른 결과가 표시됩니다. 즉 반환되는 참조가 다른 경우입니다. 출력이 다른 이유는 무엇입니까?
SQL Server가 SQL Studio Manager에서 실행중인 코드와 비교하여 컴파일 된 코드에 대해 다른 실행 계획을 사용하기 때문에 그 이유가 확실합니다. 나는 그러나 확인하고 싶었다.
코드를 추가하십시오! – Dezigo
@Dezigo, 더 많은 코드를 추가했으며 다른 단락을 추가했습니다 (마지막 단락). – w0051977
SQL 문에 'order by'가 포함되어 있지 않으므로 SQL Server는 임의의 순서로 결과를 자유롭게 반환합니다. – Andomar