클라이언트의 컴퓨터에서 테이블을 업데이트하려고하는 SQL 문이 있습니다.실행 문 일괄 처리에 대한 전역 변수 선언 - sql server 2005
BEGIN TRANSACTION
DECLARE @CreatedBy INT
SELECT @CreatedBy = [User_Id]
FROM Users
WHERE UserName = 'Administrator'
--////////////////////////////////////////////////////////////////////
--////////////////////////////////////////////////////////////////////
PRINT @CreatedBy --(Works fine here and shows me the output)
PRINT N'Rebuilding [dbo].[Some_Master]'
ALTER TABLE [dbo].[Some_Master]
ADD [CreatedBy] [BIGINT] NULL,
[Reason] [VARCHAR](200) NULL
GO
PRINT @CreatedBy --(does not work here and throws me an error)
PRINT N'Updating data in [Some_Master] table'
UPDATE Some_Master
SET CreatedBy = @CreatedBy
COMMIT TRANSACTION
을하지만 난 다음 오류가 점점 오전 :
은 스칼라 변수 "@CreatedBy"를 선언해야 다음과 같이 는 SQL 문입니다.
이제는 내가 잘 작동하고 그 값을 보여주는 alter 명령 위에 Print 문을 쓰지 만, 만약 내가 알맞은 명령을 한 후에 값을 인쇄하려한다면, 위에서 지정한 오류를 던졌습니다.
이유를 모르겠습니까 ?? 도와주세요!
는
그래,'GO' 문을 제거하면 괜찮을거야. 그래서'@ variables'는 배치 중에 만 살 수 있습니다. 배치의 수명을 연장 할 수있는 변수가 있습니까? –