У меня есть 2 процедуры. Один, который создает временную таблицу и другую (или несколько других), которые используют временную таблицу, созданную в первом proc. Это считается плохой формой? Я сейчас вхожу в существующую кодовую базу и много использует этот шаблон. Это, безусловно, беспокоит меня, но я не могу сказать, что это явно плохая идея. Я просто нахожу это раздражающим образцом - что-то пахнет гнилым, но я не могу сказать, что. Я бы предпочел бы построить таблицу локально, а затем заполнить ее с помощью exec. Но для этого требуются procs, которые возвращают только одну таблицу, что является необычным в существующей кодовой базе.делится временными таблицами между процедурами, считающимися плохой формой?
Разве гуру SQL уклоняются от такого рода обмена темпами? Если да, то почему? Я пытаюсь сформулировать мнение об этом и хотел бы внести свой вклад.
Будет ли перспектива жизнеспособной альтернативой?
Как насчет производительности? Было бы лучше построить @table локально или построить #table в "fill" proc?
Там хорошее обсуждение всех методов здесь: http://www.sommarskog.se/share_data.html
не может ли эта таблица делиться между несколькими последующими вызовами «прочитанного» proc?кажется пятном, где вы увидите прерывистые и трудно отлаживаемые ошибки – jcollum
Как это отличается от глобальной таблицы темп (## temp)? –
## temp собирается упасть после того, как соединение, которое его создало, закрылось. – JeffO