Большие и маленькие буквы в названиях обьектов

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
windsurfer_ua
Сообщения: 5
Зарегистрирован: 30 мар 2005, 14:05

Большие и маленькие буквы в названиях обьектов

Сообщение windsurfer_ua » 30 мар 2005, 14:14

База Firebird 1.5. Прочитал в FAQ что в 3 диалекте необязательно использование двойных кавычек в названиях обектов. Но если только сделаю запрос без кавычек (например Select * from my_table) выдает TABLE unknown MY_TABLE. Тоесть название полюбому автоматически приводится в верхний регистр. Как этого избежать. Я импортировал довольно большую базу из Accessa и влом перебивать все назнавания таблиц и полей (а может есть способ это сделать автоматом?). А все время писать в кавычках неохота.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 30 мар 2005, 14:52

Если при создании объектов БД указывал их имена в кавычках с разным регистром
то и вызывай в кавычках

Или если не устраивает, пересоздай все объекты без кавычек

windsurfer_ua
Сообщения: 5
Зарегистрирован: 30 мар 2005, 14:05

Сообщение windsurfer_ua » 30 мар 2005, 16:40

DSKalugin писал(а):Если при создании объектов БД указывал их имена в кавычках с разным регистром
то и вызывай в кавычках

Или если не устраивает, пересоздай все объекты без кавычек
Можно ли как-то переименовать таблицы без потери данных?

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 30 мар 2005, 17:06

Конечно

1-но это мучительно, если много зависимостей

а-через промежуточное поле

Alter table TTT add tmpField VarChar(32);
update TTT set tmpField="curField";
alter table TTT drop "curField";
Alter table TTT add curField VarChar(32);
update TTT set curField=tmpField;

б-Alter table TTT ALTER "curField" TO curField

2 заменой в текстовом файле, если база не очень большая

выгрузить всю базу (с метаданными и данными) в срипт создания базы, а дальше открыть его в редакторе и воспользоваться функциями типа РеплэйсТекст "curField"->curField

windsurfer_ua
Сообщения: 5
Зарегистрирован: 30 мар 2005, 14:05

Сообщение windsurfer_ua » 30 мар 2005, 17:46

DSKalugin писал(а):Конечно

1-но это мучительно, если много зависимостей

а-через промежуточное поле

Alter table TTT add tmpField VarChar(32);
update TTT set tmpField="curField";
alter table TTT drop "curField";
Alter table TTT add curField VarChar(32);
update TTT set curField=tmpField;

б-Alter table TTT ALTER "curField" TO curField

2 заменой в текстовом файле, если база не очень большая

выгрузить всю базу (с метаданными и данными) в срипт создания базы, а дальше открыть его в редакторе и воспользоваться функциями типа РеплэйсТекст "curField"->curField
Супер. Способ б мне понравился. Большое списибо.
Только для mysql я знаю как это сделать. Может подскажете как это сделать для Interbase'a?

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 30 мар 2005, 18:15

windsurfer_ua писал(а): Только для mysql я знаю как это сделать. Может подскажете как это сделать для Interbase'a?
:shock: :shock: :shock:
Кто из нас тормоз?
Разве я упомянал где-либо слово mysql???
Все сказанное относится именно к Interbase и FireBird
windsurfer_ua писал(а): Я импортировал довольно большую базу из Accessa
Следующий раз при экспорте правильно опции выбирай относительно диалекта и всего что с этим связано, если пользуешься не своей программой

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 30 мар 2005, 18:44

DSKalugin писал(а): :shock: :shock: :shock:
Кто из нас тормоз?
Не сердись, в этот раз я уже с искренним сочувствием, но начни уже читать вопросы :-D Бузина... Дядька... Таблица... Поле... :-D

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 30 мар 2005, 19:38

Merlin писал(а):
DSKalugin писал(а): :shock: :shock: :shock:
Кто из нас тормоз?
Не сердись, в этот раз я уже с искренним сочувствием, но начни уже читать вопросы :-D Бузина... Дядька... Таблица... Поле... :-D
:lol: :lol: :lol:
Выходит, опять тормоз - Я! :lol:
Надо пойти выспаться, ночное кодирование меня доканывает

windsurfer_ua
Сообщения: 5
Зарегистрирован: 30 мар 2005, 14:05

Сообщение windsurfer_ua » 31 мар 2005, 10:04

DSKalugin писал(а):
windsurfer_ua писал(а): Кто из нас тормоз?
Разве я упомянал где-либо слово mysql???
Все сказанное относится именно к Interbase и FireBird
Никто из нас не тормоз. Имелось ввиду что я незнаю как в FireBIRD слить дамп базы (DDL+ данные в текстовый файл). Какой инструмент надо использовать. На MYSQL я так делал с помощьо MyPHPAdmin, теперь перешел на FIREBIRD и не знаю как это сделать. Подскажите плиз.

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 31 мар 2005, 11:52

windsurfer_ua писал(а):
DSKalugin писал(а): Кто из нас тормоз?
Никто из нас не тормоз.
Вопрос закрыт. Мерлин его четко прояснил :roll:

Стоп! Давай разберемся. Когда ты просматриваешь структуру базы, имена объектов в двойных кавычках или нет?

Используй программу IBExpert.com для администрирования и разработки ФБ/ИБ. Она же позволит тебе выгрузить базу в скрипт.
Меню Инструменты->Извлечение метаданных

windsurfer_ua
Сообщения: 5
Зарегистрирован: 30 мар 2005, 14:05

Сообщение windsurfer_ua » 31 мар 2005, 14:07

Стоп! Давай разберемся. Когда ты просматриваешь структуру базы, имена объектов в двойных кавычках или нет?

Используй программу IBExpert.com для администрирования и разработки ФБ/ИБ. Она же позволит тебе выгрузить базу в скрипт.
Меню Инструменты->Извлечение метаданных
Все разобрался.
Да когда просматириваю структуру в IBExpert - все что маленеькими буквами - все в кавычках.
Выгрузил через IBEXPERT в текстовик, поменял все на большие буквы, и теперь все ок.
Спасибо всем!

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

2 Merlin

Сообщение DSKalugin » 31 мар 2005, 14:39

2 Merlin

Выходит вопрос я понял правильно и ответил тоже правильно!
Вопрос о том кто тормозит снова объявляю открытым :D

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 31 мар 2005, 14:46

Ты ответил не на первый вопрос. А на следующий - ну вот, таблицы я пересоздал без кавычек, ы що мне теперь делать с полями в кавычках? :lol:

DSKalugin
Сообщения: 212
Зарегистрирован: 27 окт 2004, 13:39

Сообщение DSKalugin » 31 мар 2005, 15:00

блин, тока попадись мне в темном переулке, Мерлин!
впаймаю и напою пивом до поросячего визга,
чтобы не придерался :lol:

Ответить