|
|
|
Запрос на изменения типа столбца
|
|||
|---|---|---|---|
|
#18+
Как выглядит запрос который меняет тип столбца. Столбец у меня был числового типа, теперь нужно сделать текстовый длинной 10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 13:34 |
|
||
|
Запрос на изменения типа столбца
|
|||
|---|---|---|---|
|
#18+
См. хелп по Alter Table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 13:37 |
|
||
|
Запрос на изменения типа столбца
|
|||
|---|---|---|---|
|
#18+
Смотрел не могу найти это! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 13:44 |
|
||
|
Запрос на изменения типа столбца
|
|||
|---|---|---|---|
|
#18+
jetsql.chm Синтаксис ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL] [CONSTRAINT индекс] | ALTER COLUMN тип поля[(размер)] | CONSTRAINT составнойИндекс} | DROP {COLUMN поле I CONSTRAINT имяИндекса} } Ниже перечислены аргументы инструкции ALTER TABLE: Элемент Описание таблица Имя изменяемой таблицы. поле Имя поля, добавляемого в таблицу или удаляемого из нее. Имя поля, заменяемого в таблице. тип Тип данных поля. размер Размер поля в знаках (только для текстовых и двоичных полей). индекс Индекс для поля. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. составнойИндекс Описание составного индекса, добавляемого к таблице. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. имяИндекса Имя составного индекса, который следует удалить. Дополнительные сведения Предложение CONSTRAINT, предназначенное для создания простого индекса, располагается сразу после описания типа поля в предложении, определяющем поля в инструкции ALTER TABLE или CREATE TABLE. Применяйте предложение CONSTRAINT, предназначенное для создания составного индекса, если требуется использовать зарезервированное слово CONSTRAINT вне предложения, описывающего поля в инструкции ALTER TABLE или CREATE TABLE. Предложение CONSTRAINT позволяет создать для поля индекс одного из описанных ниже типов: Для создания уникального индекса используйте зарезервированное слово UNIQUE. Это означает, что в таблице не может быть двух записей, имеющих одно и то же значение в этом поле. Уникальный индекс создается для любого поля или любой группы полей. Если в таблице определен составной уникальный индекс, то комбинация значений включенных в него полей должна быть уникальной для каждой записи таблицы, хотя отдельные поля и могут иметь совпадающие значения. Для создания ключа таблицы, состоящего из одного или нескольких полей, используйте зарезервированные слова PRIMARY KEY. Все значения ключа таблицы должны быть уникальными и отличаться от значения Null. Кроме того, в таблице может быть только один ключ. -------------------------------------------------------------------------------- Примечание. Не используйте зарезервированные слова PRIMARY KEY при создании индекса в таблице, в которой уже определен ключ; в противном случае возникнет ошибка. -------------------------------------------------------------------------------- Для создания внешнего ключа можно использовать зарезервированные слова FOREIGN KEY. Если ключ внешней таблицы состоит из нескольких полей, необходимо использовать предложение CONSTRAINT, предназначенное для создания составного индекса. При этом следует перечислить все поля, содержащие ссылки на поля во внешней таблице, а также указать имя внешней таблицы и имена полей внешней таблицы, на которые ссылаются поля, перечисленные выше, причем в том же порядке. Если адресуемые поля являются ключами внешней таблицы, указывать эти поля не следует. По умолчанию ядро базы данных воспринимает ключ внешней таблицы как адресуемые поля. Ограничения для внешних ключей определяют конкретные действия, выполняемые в случае изменения значения соответствующего ключа: Можно указать подлежащие выполнению действия с внешней таблицей, исходя из соответствующего действия, выполняемого над ключом в той таблице, для которой определено предложение CONSTRAINT. Например, рассмотрим следующее определение таблицы «Клиенты»: CREATE TABLE Клиенты (ИндексКлиента INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50)) Рассмотрим следующее определение таблицы «Заказы», в котором задано отношение для внешнего ключа, адресующее ключ в таблице «Клиенты»: CREATE TABLE Заказы (КодЗаказа INTEGER PRIMARY KEY, ИндексКлиента INTEGER, ПримечанияЗаказа NCHAR VARYING (255), CONSTRAINT ВнКлЗаказыИндексКлиента FOREIGN KEY (ИндексКлиента) REFERENCES Клиенты ON UPDATE CASCADE ON DELETE CASCADE Оба предложения ON UPDATE CASCADE и ON DELETE CASCADE определены для внешнего ключа. Предложение ON UPDATE CASCADE означает, что в случае обновления кода клиента (ИндексКлиента) в таблице «Клиенты», в таблице «Заказы» будет произведено соответствующее каскадное обновление. Каждый заказ, содержащий соответствующее значение кода клиента, будет автоматически обновлен с использованием нового значения этого кода. Предложение ON DELETE CASCADE означает, что в случае удаления клиента из таблицы «Клиенты», все строки таблицы «Заказы», содержащие код данного клиента, также будут удалены. Рассмотрим другое определение таблицы «Заказы», где вместо операции CASCADE используется операция SET NULL: CREATE TABLE Заказы (КодЗаказа INTEGER PRIMARY KEY, ИндексКлиента INTEGER, ПримечанияЗаказа NCHAR VARYING (255), CONSTRAINT ВнКлЗаказыИндексКлиента FOREIGN KEY (ИндексКлиента) REFERENCES Клиенты ON UPDATE SET NULL ON DELETE SET NULL Предложение ON UPDATE SET NULL означает, что в случае обновления кода клиента (ИндексКлиента) в таблице «Клиенты», соответствующим значениям внешнего ключа в таблице «Заказы» будут автоматически присвоены значения NULL. Аналогично, предложение ON DELETE SET NULL означает, что в случае удаления клиента из таблицы «Клиенты», всем соответствующим внешним ключам в таблице «Заказы» будут автоматически присвоены значения NULL. Чтобы избежать автоматического создания индексов для внешних ключей, можно использовать модификатор NO INDEX. Такое определение внешних ключей следует использовать только в тех случаях, когда результирующие значения индексов будут часто повторяться. Если значения индекса внешнего ключа часто повторяются, использование индекса может оказаться менее эффективным, чем просто просмотр таблицы. При вставке и удалении строк таблицы ведение индекса этого типа снижает производительность и не дает никаких преимуществ. См. также Инструкция ADD USER Инструкция CREATE USER или GROUP Инструкция ALTER USER или DATABASE Инструкция CREATE VIEW Инструкция ALTER TABLE Инструкция DROP Инструкция CREATE INDEX Инструкция DROP USER или GROUP Инструкция CREATE PROCEDURE Инструкция GRANT Инструкция CREATE TABLE Инструкция REVOKE Пример Инструкция CREATE TABLE, предложение CONSRAINT, примеры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 13:48 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32487737&tid=1675206]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
189ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 461ms |

| 0 / 0 |
