Вы также можете настроить его динамически, используя:
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
Сначала я бы ALTER TABLE tbl ADD col INTEGER CONSTRAINT tempname DEFAULT 1
сбросил ограничение с явно указанным именем после (предположительно внутри транзакции ).
Чтобы добавить столбец со значением по умолчанию, а затем удалить значение по умолчанию, вы можете назвать значение по умолчанию:
ALTER TABLE tbl ADD col INTEGER NOT NULL CONSTRAINT tbl_temp_default DEFAULT 1
ALTER TABLE tbl drop constraint tbl_temp_default
Это заполнит значение 1, но оставляет таблицу без значения по умолчанию. Используя SQL Server 2008, я запустил этот и ваш код alter update alter
и не увидел заметной разницы в таблице из 100 000 маленьких строк. SSMS не показывал мне планы запросов для операторов alter table, поэтому я не мог сравнить ресурсы, используемые этими двумя методами.
Если вы добавите ограничение по умолчанию при создании таблицы, вы не узнаете, как оно называется. Однако, если вы добавляете ограничение с помощью ALTER TABLE, вы должны назвать ограничение. В этом случае вы сможете ALTER TABLE DROP CONSTRAINT (это относится к T-SQL, не уверен в других базах данных.)
Однако это потребует от вас CREATE TABLE с NULL-столбцом, ALTER TABLE, чтобы добавить ограничение , сделайте столбец NOT NULL и, наконец, DROP CONSTRAINT.
Я не верю, что триггер вставки будет работать так, как уже упоминалось кем-то другим, потому что ваши строки уже добавлены.
Я думаю, что описанный вами способ, на самом деле, может быть наиболее эффективным и элегантным решением.