информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 И ещё раз об интернет-голосовании 
 Типовые уязвимости в драйверах... 
 Logitech готовится закрыть очередную... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Alter table? 11.03.11 00:55  Число просмотров: 1729
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
<programming>
[Access SQL] как переименовать поле таблицы? А то очень не хочется извращаться. 10.03.11 23:17  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
В мускуле это выглядит, например, так: 11.03.11 11:16  
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 11.03.11 11:26  Количество правок: 1
<"чистая" ссылка>
В мускуле это выглядит, например, так:
ALTER TABLE `vr` CHANGE `log` `log1` VARCHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL

Только я не помню, Аксес ALTER TABLE понимает или нет.
Должно поддерживать, ибо alter лежит ещё в стандарте ANSI SQL 92, может быть и ранее. 11.03.11 16:32  
Автор: kstati <Евгений Борисов> Статус: Elderman
Отредактировано 11.03.11 16:36  Количество правок: 4
<"чистая" ссылка>
разделы 11.10 <alter table statement>, 11.12 <alter column definition>, ну и далее.

sql1992
Сразу трем топикам. 13.03.11 12:10  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 13.03.11 12:11  Количество правок: 1
<"чистая" ссылка>
Может делаю что не так, но перепробовал разные комбинации.
ALTER TABLE Table1 ALTER COLUMN FIELD1 FIELD2 TEXT(25);

---
Какой бы ни писал тип "TEXT", "CHAR", ... ругается на тип. Хотя, если убрать FIELD2, то тип меняет. Названия полей в кавычки брал. Слово "SET" между полями писал. То, что майэскуэль это делать точно умеет, знаю. В инете поиск ничего путевого не дает. В хелпе Аксесе этого нет. Ниже кусок Аксесовского хелпа. Похоже, что то, что возможно указать при добавлении поля (ИМЯ, ТИП, РАЗМЕР) невозможно указать при изменеии. То есть ИМЯ относится к имени самого поля, а остальное воспринимается как новые параметры (только ТИП и РАЗМЕР).
Синтаксис
ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL]     [CONSTRAINT индекс] |
    ALTER COLUMN тип поля[(размер)] |
    CONSTRAINT составнойИндекс} |
    DROP {COLUMN поле I CONSTRAINT имяИндекса} }

---
Может нафиг этот запрос? Просто зайти в Аксесе в нужную таблицу и переименоавть ) 14.03.11 00:46  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
так: 13.03.11 16:56  
Автор: Den <Denis> Статус: The Elderman
Отредактировано 13.03.11 16:58  Количество правок: 2
<"чистая" ссылка>
так:
ALTER TABLE Table1
  ALTER COLUMN FIELD1 char(25)
  ALTER COLUMN FIELD2 char(25);

---


В Access или в SQL Manager'е ты можешь делать это визуально - в конструкторе таблицы.
Ошибка синтаксиса и подсвечивает alter на третьей строке. 14.03.11 00:32  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 14.03.11 00:34  Количество правок: 2
<"чистая" ссылка>
> так:
> ALTER TABLE Table1
>   ALTER COLUMN FIELD1 char(25)
>   ALTER COLUMN FIELD2 char(25);

---

Ошибка синтаксиса и подсвечивает ALTER на третьей строке.
Зачем во второй строке указывать тип и размерность переименовываемого поля FIELD1 и зачем это делать в третьей строке?

> В Access или в SQL Manager'е ты можешь делать это визуально
> - в конструкторе таблицы.

Задача: написать програмку, которая будет обрабатывать огроменйшую кучу всего посредством нажатия на одну кнопку. Поди, объясни этим клеркам, что надо куда то лезть и что-то где-то переименовывать.
"Ноги" этой задачи растут из процеса импорта данных, при котором либо именам полей присваивается абракадабра их первой строки, либо "F1", "F2", ..., "FN". К тому же есть готовые запросы-импортировщики. Просто раздать полям нужные имена, и дальше все, как по маслу. Перекинуть таблицу в другую с правильными именами полей, зачистив первую строку, проблема не большая, но, во первых, хочется красиво, а, самое гдавное, во вторых, хочется понять, не уже ли в Аксесе нет такого функционала!

К стати, тут еще вопросик маленький возник: В VB цикле получаются некоторые данные. Требуется запизивать их в нужные поля. Как это лучше сделать?
Не знаю, как Аксес к этому отнесется (мелкомягкие всегда... 14.03.11 03:08  
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 14.03.11 03:10  Количество правок: 2
<"чистая" ссылка>
> К стати, тут еще вопросик маленький возник: В VB цикле
> получаются некоторые данные. Требуется запизивать их в
> нужные поля. Как это лучше сделать?
Не знаю, как Аксес к этому отнесется (мелкомягкие всегда стремились как можно меньше придерживаться стандартов и вообще ;) ), но в других СУБД лучше всего в цикле сгенерировать многострочный запрос типа:
INSERT INTO `table_name` (`field_1`, `field_2`, ..., `field_n`) VALUES
('val_1','val_2', ..., 'val_n'),
...
('val_i','val_j', ..., 'val_k');

---
а потом отправить его в СУБД. Если цикл бесконечный - отправлять периодически, после накопления нужного количества строк, и обнулять его после отправки очередной порции.
Блин, сейчас писал уточнения к задаче и, похоже, пришла красивая мысль. Завтра попробую. 14.03.11 23:41  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
У разных rdbms синтаксис sql может немного различаться. 14.03.11 01:54  
Автор: Den <Denis> Статус: The Elderman
Отредактировано 14.03.11 10:18  Количество правок: 1
<"чистая" ссылка>
> Ошибка синтаксиса и подсвечивает ALTER на третьей строке.
> Зачем во второй строке указывать тип и размерность
> переименовываемого поля FIELD1 и зачем это делать в третьей
> строке?

кажись, я запятую пропустил.
попробуй следующие варианты:
ALTER TABLE Table1
   ALTER COLUMN FIELD1 char(25),
   ALTER COLUMN FIELD2 char(25);

---

или
ALTER TABLE Table1
   ALTER COLUMN FIELD1 char(25),
     FIELD2 char(25);

---

если используете MSSQL, то синтаксис такой:
http://msdn.microsoft.com/ru-ru/library/ms190273.aspx

> Задача: написать програмку, которая будет обрабатывать
> огроменйшую кучу всего посредством нажатия на одну кнопку.
> Поди, объясни этим клеркам, что надо куда то лезть и что-то
> где-то переименовывать.
> "Ноги" этой задачи растут из процеса импорта данных, при
> котором либо именам полей присваивается абракадабра их
> первой строки, либо "F1", "F2", ..., "FN". К тому же есть
> готовые запросы-импортировщики. Просто раздать полям нужные
> имена, и дальше все, как по маслу. Перекинуть таблицу в
> другую с правильными именами полей, зачистив первую строку,
> проблема не большая, но, во первых, хочется красиво, а,
> самое гдавное, во вторых, хочется понять, не уже ли в
> Аксесе нет такого функционала!

MS Access v14 предлагает достаточно широкие средства автоматизации, вплоть до сохранения и воспроизведения шагов импорта/экспорта и связывания из разных источников данных (ODBC, форматированый текст, XML, некоторые форматы MS Office)

> К стати, тут еще вопросик маленький возник: В VB цикле
> получаются некоторые данные. Требуется запизивать их в
> нужные поля. Как это лучше сделать?

сори, не телепат. ;)
Ругается на запятую. 14.03.11 23:28  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> кажись, я запятую пропустил.
> попробуй следующие варианты:
>
ALTER TABLE Table1>    ALTER COLUMN FIELD1 char(25),
>    ALTER COLUMN FIELD2 char(25);

---
> или
>
ALTER TABLE Table1>    ALTER COLUMN FIELD1 char(25),
>      FIELD2 char(25);

---

Ругается на запятую.

> если используете MSSQL, то синтаксис такой:
> http://msdn.microsoft.com/ru-ru/library/ms190273.aspx

Хороший хелп, все особенности рассмотрены, есть и про изменение типа и размерности, но про зменение имени нет ничего.
Я там еще порылся, потом в родном хелпе - есть переименовывание таблиц, запросов, всяких других объектов, но про поля нет ничего. Грустно. Ну нет, так нет, не так уж сильно придется извратнуться.
значит делай по отдельности 15.03.11 03:53  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
Alter table? 11.03.11 00:55  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach