З цією проблемою я зіткнувся, намагаючись імпортувати результати збереженої програми в тимчасову таблицю, і що Stored Proc вставив у таблицю темп як частину власної операції. Проблема полягає в тому, що SQL Server не дозволяє одному і тому ж процесу записувати до двох різних темп-таблиць одночасно.
Прийнята відповідь OPENROWSET працює чудово, але мені потрібно було уникати використання будь-якого динамічного SQL або зовнішнього постачальника OLE в моєму процесі, тому я пішов іншим маршрутом.
Я знайшов одне просте вирішення - змінити тимчасову таблицю в моїй збереженій процедурі на змінну таблиці. Вона працює точно так само, як і з тимчасовою таблицею, але більше не суперечить моїй іншій вставці таблиці темп.
Просто обезголовлений коментар Я знаю , що деякі з вас збирається писати, попереджаючи мене таблицю змінних , як вбивці продуктивності ... Все , що я можу сказати вам, що в 2020 році виплати дивідендів НЕ боятися таблиці змінних. Якби це був 2008 рік, і моя база даних розміщувалася на сервері з 16 Гб оперативної пам’яті та працює з жорсткими дисками 5400RPM, я можу погодитися з вами. Але це 2020 рік, і я маю SSD масив як основне сховище даних і сотні гігів оперативної пам’яті. Я можу завантажити всю базу даних своєї компанії до змінної таблиці і все ще мати достатню кількість оперативної пам’яті.
Змінні таблиці знову в меню!