|
|
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Напрягает меня бльшое количество процедур для генераторов. Сам ими не пользуюсь, но закладываю для других - на всякий случай. Ну если кому-то в будущем приспичит иметь id записи, которая ещё только будет добавлена в таблицу. Короче, таких процедур IBExpert нагенерил кучу. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Хочу одну процедуру на все генераторы приблизительно так, но раньше с этим совсем не работал. Как правильно не знаю. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Не выходит. У меня ib7.1 В доках нашёл Execute statement и execute immediate, но не могу заставить работать ни то ни другое. Parsing error! То immediate ему не знакома, то statement не известен. Как правильно это сделать? Снимите с тормозов. Раньше я делал через if(:table_name = 'чему-то') then ... else if(:table_name = 'тому-то') then ... но больно много if-фов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:01 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
в какой это доке написано что в IB 7.1 есть execute statement ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:11 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Вместе с ним инсталлируются файлы htm и pdf в каталог doc там и нарыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:17 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
ну тогда там наверно написано, как использовать execute statement P.S. сдается мне, что дока все же от FB 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:43 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
FB никодга не юзал. Соответственно наследить он на моём компе не мог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:51 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Обратись в службу поддержки Борланда. Мож они сделают поддержку EXECUTE STATEMENT в InterBase 8 Нет там такого. Ты скорее всего читал Embedded SQL Guide . Это несколько не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 11:55 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Напиши в программе Query.SQL.Text:='select gen_id(gen_' + VarTableName + '_id) from rdb$database'; ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 13:41 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Инкремент забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 13:42 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
ОпечаткаЮ должно быть: Код: plaintext 1. 2. 3. ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 13:43 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
авторНапиши в программе Ну уж на фик. Я сам этими процедурами не пользуюсь. А прямые селекты к таблицам ни одной 'сволочи' делать не позволяю. Только через процедуры. Insert, Update, Delete - сколько угодно, а с Select`ами все на луну. Ладно, перетерплю как-нибудь эти генераторные процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 13:51 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Вопрос не в тему. А почему не используется сквозной генератор, т.е. на все таблицы один? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 15:09 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Дело привычки. Мы тут как-то обсуждали такой подход с единым генератором. Где-то летом 2003 на этом форуме. И там и сям есть плюсы и минусы. В общем - дело привычки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 15:17 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Понятно. Привычка - вторая натура. А мы всерьез рассматривали вариант с формированием UID :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 15:29 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Я тоже в распределённой базе для репликации в головную использую GUID char(32) Для ссылочной целестности внутри локальных баз для FK использую генераторы и тип integer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 16:40 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
А прямые селекты к таблицам ни одной 'сволочи' делать не позволяю. Только через процедуры. Insert, Update, Delete - сколько угодно, а с Select`ами все на луну. 1. А че так? Я вот всякой сволочи все позволяю, (если сможет, оф коурсе - если права есть). Мож, че не понимаю? Поясни, если не жалко... 2. Купи FIB+ - там все прозрачно, и генератор по OnNewRecord они тебе, когда надо, сами запустят, и отрефрешатся по полученному ID после поста и т.п. ... или что не так? Может, жизнь мимо проходит, и все юзеров действительно надо через сторед процедуры к базе допускать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2004, 16:52 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
ZmeisheНу уж на фик. Я сам этими процедурами не пользуюсь. А прямые селекты к таблицам ни одной 'сволочи' делать не позволяю. Только через процедуры. Insert, Update, Delete - сколько угодно, а с Select`ами все на луну. Ладно, перетерплю как-нибудь эти генераторные процедуры. А что за проблема с "прямыми селектами" к таблицам? Создал табличку с одним полем и одной строчкой(если не нравится RDB$DATABASE), права только select. Или, если уж хочется процедурой в FireBird: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 08:30 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Поясняю: У меня битва не на жизнь, а на смерть. IB+Unix или MS. Каждая 'сволочь' за@бала голословно утверждать, что ib медленнее. Ставят его на на Win нагенерят табличку в 1млн и сравнивают. Ну MS на Unix`e нехочет работать. Моя задача сравнить в КОМПЛЕКСЕ всё: железо+ ОС платформа + архитектура БД + производительность и на приличном объёме 15-25Гиг, а не в табличке 1млн записей. Так вот основное звено тормознутости это кривые Select`ы. Процедуры я как Sysdba 1. Вижу 2 Имею возможность анализировать 3. Отлаживать 4. Оптимизировать. Право select к таблицам только у процедур, у юзеров нет. Если дать 'сволочам' Select`ы - они зашьют их в свои софтины - хер увидишь, хер исправишь. А потом будут вайдосить - на MS нада была делать. Уроды криворукие. По поводу >>Купи FIB+ - там все прозрачно, и генератор по OnNewRecord я на трёхзвенке - в клиенте генератор по OnNewRecord не поймаю FIB или IBX на сервере приложений работают. Клиент о них ничего не знает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 08:36 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
У меня битва не на жизнь, а на смерть. IB+Unix или MS. жостко. но думаю у всех сейчас такая же фигня :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 08:41 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
ZmeisheУ меня битва не на жизнь, а на смерть. IB+Unix или MS. А только IB или возможно FireBird? По скорости FB, вероятно, обгонит IB. А уж по дополнениям и кол-вом исправлений ... Тем более ожидается выход FB2. ZmeisheЕсли дать 'сволочам' Select`ы - они зашьют их в свои софтины - хер увидишь, хер исправишь. Понятно, так бы сразу и сказал ------------------------ С уважением, Denis Uskov ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 08:43 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
авторЕсли дать 'сволочам' Select`ы - они зашьют их в свои софтины - хер увидишь, хер исправишь. А потом будут вайдосить - на MS нада была делать. Уроды криворукие. Упс ... Так если они "Уроды криворукие", то кто им мешает на MS криворуко селектить ? Тут ты таким образом только сам себе проблеммы создашь ... Учить надо оптимизировать запросы, а не влоб селекты писать ... Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 10:25 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
1. А если "уроды" захотят не просто доступ к одной таблице, а Join-ы? У меня, например, достаточно редко Select к одной таблице бывает, чаще - какая-то комбинация. И что, к барину на поклон: "напиши нам еще одну ХП"? Ну, если все умеют только на MS, так и писали бы на MS. Не такая уж она и хреновая. Под Win - ами даже очень быстрая, по крайней мере. Хотя могу поделиться, как написать такие тупые запросы, что и MS "на карачки" встанет, и IB, и Oracle. 2. По поводу трехзвенки - ну, и какая разница, двух-или-пятизвенка, если ты получил ID записи, что мешает тебе ее передать в другое звено вместе со всеми данными, из ХП ты же как-то передаешь? ------------------------------------------------------------------- Людей учить надо. Если не учатся, то - гнать. "Кадры решают все". И. Джугашвили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 11:13 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Dnico Так если они "Уроды криворукие", то кто им мешает на MS криворуко селектить ? Тут ты таким образом только сам себе проблеммы создашь ... Он же говорит, что "Если дать 'сволочам' Select`ы - они зашьют их в свои софтины - хер увидишь, хер исправишь. А потом будут вайдосить - на MS нада была делать." . Т.е. попробуй потом докажи, что они и на MS тоже криво бы написали.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 16:15 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
Ну, пусть они под MS пишут, а ты вайдось: "надо было под IB/FB делать"! Все в дерьме, а ты - во фраке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 16:37 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
mvдостаточно редко Select к одной таблице бывает, чаще - какая-то комбинация. И что, к барину на поклон: "напиши нам еще одну ХП"? У них есть локальная копия базы - пусть сами создают процедуры, отлаживают, оптимизируют. И только потом "идут на поклон", показывают мне и я вшиваю новую ХП в рабочую базу, возможно ещё и индексы затрагиваю, затем вношу изменения в спецификацию базы - типа документирую. (В общем немного бюрократии бывает очень даже на пользу!!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 08:36 |
|
||
|
Конструкция execute
|
|||
|---|---|---|---|
|
#18+
mv2. По поводу трехзвенки - ну, и какая разница, двух-или-пятизвенка, если ты получил ID записи, что мешает тебе ее передать в другое звено вместе со всеми данными, из ХП ты же как-то передаешь? Код: plaintext 1. 2. 3. 4. 5. 6. 7. Собственно поэтому и тему открыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2004, 08:44 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32501077&tid=1578727]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 541ms |

| 0 / 0 |
