Модераторы: Akella

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание и проверка полей, Как создать и проверить поля 
V
    Опции темы
ishimcity
Дата 29.4.2009, 06:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Как правильно создать поле в существующей таблице и затем програмно проверить создалось ли поле?

Создаю поле так
Код

ALTER TABLE my_table ADD my_pole integer


Но к сожалению ничего не создается.
и как бы проверить создалось ли поле,существует ли
СУБД Intebase

PM MAIL ICQ Skype YIM   Вверх
Frees
Дата 29.4.2009, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



если поле не создалось то твой запрос вернет ошибку, если ошибки нет значет поле создалось


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
ishimcity
Дата 29.4.2009, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Все верно забыл применить Commit

PM MAIL ICQ Skype YIM   Вверх
Kbl4AH
Дата 29.4.2009, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: нет
Всего: 15



Цитата(ishimcity @  29.4.2009,  09:25 Найти цитируемый пост)
Все верно забыл применить Commit

хм. а альтеры разве нужно коммитить?! или только в Оракле они коммитятся по умолчанию...
PM MAIL ICQ   Вверх
Данкинг
Дата 29.4.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 1
Всего: 130



Цитата(ishimcity @  29.4.2009,  09:25 Найти цитируемый пост)
Все верно забыл применить Commit

Зачем это? smile 

Цитата(Kbl4AH @  29.4.2009,  16:32 Найти цитируемый пост)
а альтеры разве нужно коммитить?!

Впрочем, может быть,  на IB и нужно, не проверял...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
insoft
Дата 29.4.2009, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

Репутация: нет
Всего: 3



Данкинг, Kbl4AH, коммит нужен для всех выполняемых операций за исключением select
PM MAIL WWW   Вверх
ishimcity
Дата 29.4.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 1.6.2007
Где: Тюменская область . Ишим

Репутация: нет
Всего: 1



Без Commit неработало (((( с созданием разобрался а вот как проверить что уже создал поля?
PM MAIL ICQ Skype YIM   Вверх
Akella
Дата 29.4.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



А если select влёчет за собой update?
PM MAIL   Вверх
Deniz
Дата 30.4.2009, 05:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(ishimcity @  29.4.2009,  21:02 Найти цитируемый пост)
Без Commit неработало (((( с созданием разобрался а вот как проверить что уже создал поля? 
есть 2 варианта:
1. 
Код
select my_pole from my_table where 1<>1
и ловим исключение
2. 
Код
select rf.*
from rdb$relation_fields rf
where (rf.rdb$relation_name = 'my_table')
  and (rf.rdb$field_name = 'my_pole')
и проверяем наличие записи.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Kbl4AH
Дата 30.4.2009, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: нет
Всего: 15



удалил, т.к. к INTERBASE пост не относился
 



Это сообщение отредактировал(а) Kbl4AH - 30.4.2009, 08:58
PM MAIL ICQ   Вверх
Deniz
Дата 30.4.2009, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Kbl4AH @  30.4.2009,  11:10 Найти цитируемый пост)
в книжках по Ораклу ...
если внимательно прочитать первый пост Автора, то станет понятно что работает он с INTERBASE


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Kbl4AH
Дата 30.4.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: нет
Всего: 15



удалил, т.к. флуд

Это сообщение отредактировал(а) Kbl4AH - 30.4.2009, 08:59
PM MAIL ICQ   Вверх
insoft
Дата 30.4.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 14.2.2007
Где: Тюменская область , г.Тобольск

Репутация: нет
Всего: 3



Kbl4AH, а чему же вы удивились? smile
для select хватает только открыть DataSet, для всех остальных необходим commit и ExecSQL
p.s. просто своими ответами вы человека, который и так не знает, вводите с сомнение... про то в оракле автокоммит идёт я и так знаю... я отвечал конкретно по вопросу и конкретной для СУБД
PM MAIL WWW   Вверх
Kbl4AH
Дата 30.4.2009, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: нет
Всего: 15



Цитата(insoft @  30.4.2009,  10:00 Найти цитируемый пост)
я отвечал конкретно по вопросу и конкретной для СУБД

виноват, просто сразу не понял этого... контекст твоего поста адресованного нам с Данкингом неоднозначен... 
Цитата(insoft @  29.4.2009,  17:24 Найти цитируемый пост)
Данкинг, Kbl4AH, коммит нужен для всех выполняемых операций за исключением select

лично мне стало ясно, что ты имел ввиду конкретно IB, только после того, как заметил, что тему переместили из Делфи... smile 



Это сообщение отредактировал(а) Kbl4AH - 30.4.2009, 09:26
PM MAIL ICQ   Вверх
Akella
Дата 30.4.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(insoft @  29.4.2009,  16:24 Найти цитируемый пост)
Данкинг, Kbl4AH, коммит нужен для всех выполняемых операций за исключением select 

Я читал в книжке Хелен Борри, что все транзакции лучше подтверждать, чем выполнять откат. Это связано, если мне не изменяет память, со сборкой мусора в базе.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0586 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.