Procedura składowana Exec do dynamicznej tabeli tymczasowej
Zgodnie z moją wiedzą; to, co chcę zrobić, nie jest możliwe w sql, ale warto was zapytać.
Powiedzmy, że mam procedurę składowaną abc, która zwraca kolumny Id i Value. Ta procedura przechowywana jest używana głównie przez inne działy ze względów funkcjonalnych i będę z niej korzystać co jakiś czas tylko do sprawdzania danych.
Więc używając go jako części mojej procedury składowanej:
DECLARE @tABC TABLE
(
ID INT,
Value DECIMAL(12,2)
)
INSERT INTO @tABC
EXEC OtherDb.DataProd.abc
Oky, więc to działa teraz idealnie, ale co, jeśli zmienią strukturę ich procedury przechowywanej?
Dodanie lub usunięcie kolumny z procedury zapisanej w bazie spowoduje złamanie mojego kodu, więc czy istnieje sposób na uelastycznienie mojego kodu.
Moja ostatnia desperacka próba wyglądała mniej więcej tak:
WITH tempTable AS
(
EXEC OtherDb.DataProd.abc
)
SELECT ID, Value FROM tempTable
Co oczywiście zawiodło żałośnie.