SQL Server 2005 и объем временной таблицы

Со страницы проекта android-apt :

Плагин android-apt помогает в работе с процессорами аннотаций в сочетании с Android Studio. Он имеет две цели:

  • Позволяет настроить процессор аннотаций только времени компиляции в качестве зависимости, не включая артефакт в конечном APK или библиотеке

  • Установите исходные пути так, чтобы код, сгенерированный из процессора аннотаций, был правильно подобран Android Studio.

Вы используете Dagger, который использует обработку аннотаций для генерации кода. Код обработки аннотации не должен быть включен в окончательный APK, и вы хотите, чтобы сгенерированный код был виден Android Studio. android-apt позволяет это поведение.

Это звучит очень похоже на объем provided, но apt отличается от provided в нескольких ключевых аспектах. Первое отличие состоит в том, что код, сгенерированный зависимостью apt, доступен для IDE, тогда как код, сгенерированный зависимостью provided, недоступен.

Другое важное отличие состоит в том, что код в библиотеке, использующей область действия provided, находится в пути к классам IDE (то есть вы можете импортировать классы и пытаться использовать их), тогда как код в зависимости apt - нет. С provided ваш код будет аварийно завершаться во время выполнения, если вы на самом деле не предоставите ссылочные зависимости с compile областью действия.

Вы можете найти обсуждение apt против provided на этой android-apt проблеме .

В случае с Dagger не должно быть никаких причин включать процессор аннотаций и генератор кода в любой ваш код (что позволит область provided). Таким образом, объем apt является более подходящим.

Обновление за октябрь 2016: Возможно, вам больше не нужен apt и плагин android-apt. Версия 2.2 плагина Android Gradle имеет конфигурацию annotationProcessor, которую вы должны использовать вместо этого.

Подробнее на Что дальше для android-apt?

46
задан GEOCHET 21 May 2009 в 12:39
поделиться

4 ответа

Локальные временные таблицы (начинаются с # ) ограничены вашей сессией; другие сеансы, даже от того же пользователя / строки подключения, не могут их видеть. Правила для времени жизни зависят от того, была ли локальная временная таблица создана в хранимой процедуре:

  • Локальная временная таблица, созданная в хранимой процедуре, удаляется, когда процедура завершается; другие хранимые процедуры или вызывающий процесс их не видят.
  • Другие локальные временные таблицы удаляются по окончании сеанса.

Глобальные временные таблицы (начинающиеся с ##) совместно используются сеансами. Их сбрасывают, когда:

76
ответ дан 26 November 2019 в 20:24
поделиться

Временная таблица будет доступна для экземпляра процедуры, которая ее создает

Следующий сценарий

Exec ('Select 1 as col Into #Temp Select * From #Temp')
Exec ('Select 2 as col Into #Temp Select * From #Temp')

Возвращает

Col
1

Col
2

Не

Col
1
2

Или ошибка, потому что таблица уже существует .

Временная таблица также будет доступна для любых «дочерних» процедур, которые также выполняет начальная процедура.

11
ответ дан 26 November 2019 в 20:24
поделиться

Вы также можете подумать об использовании табличных переменных. У них очень четко определенная область видимости, и они иногда быстрее, чем их аналоги из временных таблиц. Единственная проблема с табличными переменными заключается в том, что они не могут быть проиндексированы, поэтому некоторая производительность может быть потеряна, несмотря на их характер. Посетите для получения дополнительной информации по этому вопросу.

1
ответ дан 26 November 2019 в 20:24
поделиться

Следующая статья может помочь: «Как обмениваться данными между хранимыми процедурами» http://www.sommarskog.se/share_data.html

3
ответ дан 26 November 2019 в 20:24
поделиться