Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Открыть новую тему     Написать ответ в эту тему

GUNski



Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос. Что в ИбЭксперте означает надпись на статусбаре: "Осталось 253 изменения таблицы [Имя таблицы]"

Всего записей: 33 | Зарегистр. 25-01-2006 | Отправлено: 20:42 25-07-2006
vkramnik



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот что сказано в хелпе по ИБ-Эксперту :
http://www.ibexpert.info/documentation
/%20%201.%20Getting%20Started/%20%204.%20IBExpert%20Screen
/%20%208.%20(7)%20Status%20Bar/253%20%20changes%20of%20table%20left/4144.html
(адрес - в одну строчку)

Цитата:
 
253 changes of table left
 
Note: each table in an InterBase/Firebird database has its own metadata changes counter. Each table can be altered 255 times (add or remove columns, change field type etc.). When any of these counters reaches the value of 255 it is not possible to alter any tables any further, and a database backup and restore is necessary.
 
IBExpert indicates in the status bar how many changes my be made in the database before being forced to perform a database backup and restore. This message may be deactivated, if wished, using the IBExpert menu item, Database / Register Database or Database / Database Registration Info, and checking the option "Don't display metadata changes counter info" on the Additional page.
 
Document-ID: 4144
25.07.2006
 

 
Т.е., смысл в том, что каждая таблица имеет счетчик изменений (добавлений/удалений столбцов, изменений типов полей и т.д.). Как только счетчик дойдет до 255, нужно будет сделать бэкап/ресторе базы, чтобы снова можно было редактировать таблицы.

Всего записей: 1848 | Зарегистр. 14-12-2005 | Отправлено: 22:10 25-07-2006 | Исправлено: vkramnik, 22:19 25-07-2006
ProDman

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите с запросом
 
Делаю запрос:  

Код:
select id_some from some_table

 
при этом полученное запросом поле id_some мне нужно вставить в процедуру и получить от нее результат.
Вопрос в следующем, можно ли это сделать в одном запросе?

Всего записей: 24 | Зарегистр. 18-04-2005 | Отправлено: 16:42 26-07-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ProDman
Выполнить можно так

Код:
select *
from some_table d
where EXISTS(select * from  test_function(d.id_some))

А вот вернуть значение...

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 17:35 26-07-2006 | Исправлено: vshersh, 17:37 26-07-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ProDman

Код:
 
select
  t.id_some,
  p.some_value_from procedure
from some_table t
  left join some_procedure(t.id_some) p
  on (0=0)
 

vshersh
В 90% случаев EXISTS заменяется тривиальным джойном(inner join).

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 18:09 26-07-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
Я просто написал первое, что пришло в голову...
Твой метод лучше
P.S. Извините за флуд...

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 18:16 26-07-2006 | Исправлено: vshersh, 18:25 26-07-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Понятно, просто с exists надо быть предельно внимательным, а то я тут как-то натуралом по 17млн. записей слева прошелся, а потом натуралом справа....

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 18:28 26-07-2006
ProDman

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
 
Запрос выполняется, но процедура ни чего не возвращает. Пробовал вместо id_some, передаваемой в процедуру, вписывать это значение вручную, так же результата не получил. Метод vshersh так же не получился.
Более того запрос вида

Код:
slect * from test_function('0000001')

так же возвращает нули, хотя

Код:
execute procedure test_function('0000001')

возвращает все, что мне нужно.

Всего записей: 24 | Зарегистр. 18-04-2005 | Отправлено: 15:37 27-07-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ProDman
Текст процедуры, в студию!
 
Добавлено:
В общем вот простенький пример, который работает как написал OXDBA

Код:
select  
  d.rdb$relation_id,
  p.x
from rdb$database d
 left join
 test(d.rdb$relation_id) p
  on (0=0)

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 15:42 27-07-2006 | Исправлено: vshersh, 16:03 27-07-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ProDman
Добавь Suspend в процедуру и будет тебе счастье

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 17:50 27-07-2006
ProDman

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
 
Прошу прощения, за долгое молчание. Дело было действительно в SUSPEND

Всего записей: 24 | Зарегистр. 18-04-2005 | Отправлено: 13:34 09-08-2006
Silla



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Доброго времени суток!
Возможно ли в триггере написать запрос на выполнение
после апдейта и/или после inserta  
если возможно, то как?
Запрос:  
insert into t_doc_arh select id_doc, name, type_doc from t_doc  
where  
t_doc.id_doc = : old_id_doc  
Структуры таблиц одинаковые за исключением того, что t_doc_arh.id_doc not primary key
Зранее спсибо.
 
Добавлено:
Спасибо, уже нашел ответ!
Буду рзбираться
 
Добавлено:
http://www.p-stone.ru/libr/db/interbase/data/public4/

Всего записей: 244 | Зарегистр. 18-11-2004 | Отправлено: 11:40 18-09-2006 | Исправлено: Silla, 11:41 18-09-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Насколько я понял требуется это

Код:
 
insert into t_doc_arh(Field1, Field2 ..)
values (new.field1, new.field2 ...
 

А что мешает использовать стандартный механизм IBExpert'a по созданию и ведению лога наката?

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 12:35 18-09-2006 | Исправлено: OXDBA, 12:37 18-09-2006
NewbieCnt

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А есть ли стандартные ActiveX/Java applet для запроса клиентских данных из Html, чтобы не надо было компилировать, а просто писать sql запрос например в VB скрипте? Или надо знать какие - то гуиды?

Всего записей: 15 | Зарегистр. 01-09-2006 | Отправлено: 18:07 19-09-2006
igorwz



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые коллеги, помогите пожалуйста определиться с вариантом модернизации базы данных (БД).
Был программный комплекс (ПК), работавший с базой Firebird, содержащей около 80 таблиц (файл БД на сегодня имеет размер около 200 мб), из которых половина - нормативные данные (справочники), другая половина - текущие данные (документы).  
Возникла задача написания 2-го программного комплекса, который бы использовал те же нормативные таблицы, а текущие данные хранил в своих таблицах, структура которых отличается от текущих таблиц 1-го ПК.  
Вопрос: что лучше, с точки зрения минимизации нагрузки на сервер, сеть и клиентские ЭВМ -  
1) добавить таблицы с текущими данными 2-го ПК в существующую базу, при этом работать оба ПК будут с единой большой базой;  
2) разделить существующую базу на две - нормативную и текущую для 1-го ПК, + создать третью базу для текущих данных 2-го ПК, при этом каждый ПК будет работать с двумя файлами БД: единой нормативной базой и своей текущей.

Всего записей: 6 | Зарегистр. 20-11-2004 | Отправлено: 16:03 25-09-2006
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igorwz
тут уже трёхзвенкой попахивает...
на мой взгляд лучше сделать единую базу, располжить её на серваке и к ней отправлять запросы, сервер всё это дело обработает и вышлет нужную информацию по запросу... затраты должны быть минимальные...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 23:39 25-09-2006
Sexton

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igorwz, согласен с DroN_S. Хотя последние версии FIBPlus, вроде как, поддерживают работу с несколькими базами одновременно, пользоваться этим имеет смысл только при особой необходимости.

Всего записей: 142 | Зарегистр. 31-05-2004 | Отправлено: 16:06 26-09-2006
pzaytsev

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто может подсказать инструмент аналогичный BlazeTop SQL Monitor для работы с Firebird 2. На двойке при массивных запросах BT SQL Monitor умирает.  
Devrace (которые выпускают FIBPlus, Athlant, а также BlazeTop) выпустили вместо BlazeTop новый продукт - SQLHammer - но он поддерживает только Firebird 1,5.    
Какие у кого варианты?  
   
IBExpert не предлагать - там только внутренний SQL Monitor.

Всего записей: 401 | Зарегистр. 22-08-2005 | Отправлено: 16:07 26-09-2006
test_testov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
писать свой

Всего записей: 6 | Зарегистр. 21-09-2006 | Отправлено: 10:22 27-09-2006
pug

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги! Подскажите -  кто нибудь втречал
Цитата:
"Firebird Руководство разработчика баз данных"
в электронном виде в сети? И ели да, то где?
Спасибо!

Всего записей: 2 | Зарегистр. 11-10-2006 | Отправлено: 12:58 11-10-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru