Я соглашаюсь с предыдущим плакатом, что изменение цвета className
является более симпатичным подходом. Мой аргумент однако - то, что className
может рассматриваться как определение, "почему Вы хотите, чтобы фон был этим или что цвет".
, Например, делая это красный не просто, потому что Вы хотите это красный, но и потому что Вы хотели бы сообщить пользователям ошибки. По сути, установка имени класса AnErrorHasOccured
на теле была бы моей предпочтительной реализацией.
В css
body.AnErrorHasOccured
{
background: #f00;
}
В JavaScript:
document.body.className = "AnErrorHasOccured";
Это оставляет Вас опциями моделирования большего количества элементов согласно этому className
. И как таковой, установкой a className
Вы отчасти даете странице определенное состояние.
ALTER TABLE ACCOUNT_TABLE
ADD ACCT_NUMBER AS MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT PERSISTED
Это сохранит вычисляемый столбец и может работать лучше при выборе, чем вычисление в представлении или UDF, если у вас большое количество записей (после первоначального создания столбца, что может быть мучительно медленно и, вероятно, должно произойти при небольшом времени использования). Это замедлит вставки и обновления. Обычно я считаю, что медленная вставка или обновление лучше переносятся пользователями, чем задержка при выборе, если только у вас не возникают проблемы с блокировкой.
Лучший способ сделать это будет во многом зависеть от вашего использования и от того, какая производительность вам нужна. Если у вас мало записей или вычисляемый столбец не будет вызываться так часто, вам может не понадобиться постоянный столбец, но если вы часто запускаете отчеты со всеми записями за год или другими большими наборами данные, вы можете обнаружить, что постоянный вычисляемый столбец лучше подходит для вас. Как и в случае с любой задачей подобного рода, единственный способ узнать, что лучше всего работает в вашей ситуации, - это проверить.
ALTER TABLE ACCOUNT_TABLE ADD ACCT_NUMBER AS MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT;
столбец не сохраняется в таблице, он будет автоматически создаваться при каждой ссылке на него. Вы можете добиться того же результата, используя представление. Если вы используете предикаты фильтрации или упорядочивание вычисляемого столбца и хотите добавить к нему индекс, см. Создание индексов для вычисляемых столбцов .
Это отличный кандидат для представления.
CREATE VIEW vwACCOUNT_TABLE
AS
SELECT MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT AS ACCT_NUMBER
FROM ACCOUNT_TABLE
GO
--now select from the View
SELECT ACCT_NUMBER FROM vwACCOUNT_TABLE
Ну, вы можете создать представление ACCOUNT_TABLE и запросить его. Или я считаю, что вы могли бы создать определяемую пользователем функцию, которая выполняла бы то же самое.