내 변수 중 하나가 널인 경우 다른 열을 반환하는 저장 프로 시저에서 테이블을 선택합니다. 입력 사항 중 하나를 기반으로 테이블을 다르게 선언하려면 어떻게합니까? 아래 코드는 내가하려고하는 것을 전달하지만이 방법을 시도하면 테이블을 두 번 선언한다는 오류가 발생합니다.변수가 null 인 경우 테이블 구조를 변경하는 방법
IF @Input IS NOT NULL BEGIN
DECLARE @tbl AS TABLE (
Var1 FLOAT,
Var2 DATETIME,
VAR3 INt,
...
)
END
ELSE
DECLARE @tbl AS TABLE(
Var1 INT,
Var2 FLOAT,
Var3 DATETIME,
...
)
이것은 불가능합니다. 변수 선언은'DECLARE' 시점이 아닌 배치의 시작 부분으로 올라간 것처럼 두 번 선언 할 수 있습니다. 아마도 가장 쉬운 해결책은 두 개의 다른 테이블 변수를 선언하는 것입니다. –
그게 내가 생각했던거야, 2 테이블, 그럼 거기에 올바른 테이블을 가리 키도록 IF 문을 변수를 사용하십시오. –
SP에 의해 리턴 된 것으로부터 테이블을 생성하기 위해'select into'를 사용하는 것은 어떻습니까? –