알기. 내가하고 싶은 일은 SQL에서는 불가능하지만, 여러분에게 물어볼 가치가 있습니다.저장 프로 시저를 동적 임시 테이블에 저장하십시오.
내가 말하길 저장 프로 시저 abc는 Id 및 Value 열을 반환합니다. 이 저장 프로 시저는 기능상의 이유로 다른 부서에서 주로 사용하고 있으며 데이터 검사를 위해 매번 사용합니다.
이DECLARE @tABC TABLE
(
ID INT,
Value DECIMAL(12,2)
)
INSERT INTO @tABC
EXEC OtherDb.DataProd.abc
Oky 그래서이 지금은 완벽하게 작동하지만 그들이 자신의 저장 프로 시저의 구조를 변경하는 경우 :
그래서 내 저장 프로 시저의 일부로 사용하고 계십니까?
저장 프로 시저에서 열을 추가하거나 제거하면 코드가 손상 될 수 있으므로 코드를 좀 더 유연하게 만들 수 있습니다.
WITH tempTable AS
(
EXEC OtherDb.DataProd.abc
)
SELECT ID, Value FROM tempTable
분명히 비참하게 실패 :
내 마지막 필사적 인 시도는 다음과 같이 갔다.
그래서 테이블을 반환하는 저장 프로 시저 대신 테이블 반환 함수 또는 테이블 변수를 사용해야합니다. 어쨌든 OPENROWSET이 당신을위한 해결책이 될 수도 있습니다 – adrianm
@adrianm UDF에 대한 귀하의 의견이 실제로 내 문제를 해결했습니다. 나는 내가 전에 그것을 보지 못했다고 믿을 수 없다. – JAT
[임시 테이블에 저장 프로 시저 결과 삽입] 가능한 중복 (http://stackoverflow.com/questions/653714/insert-results-of-a-stored-procedure-into-a-temporary- table) –