Я предварить этот вопрос, говоря, мой SQL не очень хорошо :)Избегайте код в SQL
Мы пытаемся построить двойную буферизованную реализацию в SQL, имея 2 избыточных таблицы. В любой момент времени одна из таблиц активна, а другая неактивна. Доступ к таблицам осуществляется по представлению, которое мы переключаем после перезагрузки данных. Когда мы перезагружаемся, мы хотим выполнить операции в неактивной таблице и затем переключать активный кеш при завершении.
У нас есть много кода, который выглядит как:
IF @activeCache = 0
BEGIN WORK ON TABLE 1 AS IT IS INACTIVE
ELSE
BEGIN WORK ON TABLE 0 AS IT IS INACTIVE
Проблема заключается код в скобках не является тривиальной, поэтому мы в конечном итоге дублирования кода, где только разница таблица эксплуатируются на , Мы думали, что параметры таблицы могут помочь, но вы не можете вставлять их (что нам нужно делать). Моя единственная идея - использовать T4-шаблоны для генерации crud для нас, но я не могу заставить их работать в проекте базы данных.
Есть ли какие-либо конструкции sql, которые могут нам помочь? Мы бы предпочли не использовать динамический sql, если это возможно.
[Связанный вопрос на сайте DBA] (http://dba.stackexchange.com/q/33470) –