Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];

Вниз

Многострочный запрос   Найти похожие ветки 

 
_Narayan_   (2003-04-25 09:55) [0]

Какой компонент с закладки InterBase может выолнять запрос из нескольких операторов ? И как его поднастроить, надо.


 
Соловьев   (2003-04-25 09:58) [1]


> запрос из нескольких операторов

???


 
_Narayan_   (2003-04-25 10:01) [2]

Я имел ввиду, например создать хранимую процедуру (оч большую ;-) )


 
Наталия   (2003-04-25 10:04) [3]

ХП процедуру создавай используя другие инструменты: например, IBConsole или IBExpert.


 
_Narayan_   (2003-04-25 10:08) [4]

2 Наталья
Спасибо за дельный совет ;-) но связи с вопросом он не имеет


 
Anatoly Podgorestky   (2003-04-25 10:10) [5]

Может, только ты сначала скажи, что такое по твоей терминологии оператор?


 
Sergey13   (2003-04-25 10:18) [6]

2_Narayan_ (25.04.03 09:55)
>Какой компонент с закладки InterBase может выолнять запрос из нескольких операторов ?
С указанной закладки, ИМХО, никакой. Потому что "запрос из нескольких операторов" это не запрос а скрипт. Тебе может быть поможет компонент SQLScript с закладки RxDBAware (если она у тебя есть 8-), или нечто похожее.



 
_Narayan_   (2003-04-25 10:20) [7]

2 Anatoly Podgorestky
ceate table например

Вобщем, надо скрипт выполнить из программы
(скрипт в обычном текстовом файле)


 
Соловьев   (2003-04-25 10:22) [8]

IBQuery, IBSQL не пробовал?


 
Наталия   (2003-04-25 10:23) [9]

А почему у тебя возникла необходимость в изменении метаданных во время работы программы? Чаще всего это свидетельствует о недостаточной проработке структуры базы.


 
_Narayan_   (2003-04-25 10:30) [10]

2 Наталия
Время идет, всё меняется - формат номера пасспорта, например.
По этому не надо в меня кидать недостаточность проработки...
Совет мне нужен, а не понты.

2 Соловьев
Пробовал - не то.
Либо пробовал не правильно. В таком случае подскажите как надо.


 
Anatoly Podgorestky   (2003-04-25 10:36) [11]

А для меня всегда операторами были + - and or


 
Mike Kouzmine   (2003-04-25 10:39) [12]

Возможно, не понты. Изменение метаданных тянет за собой, вероятно, изменение логики работы с базой.


 
Соловьев   (2003-04-25 10:41) [13]


> Либо пробовал не правильно. В таком случае подскажите как
> надо.

ну как пробовал? может ты забыл про волшебное слово ExecSQL?


 
_Narayan_   (2003-04-25 10:50) [14]

2 Anatoly Podgorestky
и зря

Оператор, 1) матем. понятие, означающее соответствие между элементами двух множеств X и Y, относящее каждому элементу х из Х нек-рый элемент y из Y. Эквивалентный смымс имеют термины: отображение, преобразование, функция. Обычно термин "Оператор" используется, когда X и Y - множества из фунуциональных пространств. 2) (В вычислит. технике) предписание в данном языке программирования, предназная. для задания нек-рого завершенного действия в процессе переработки информации...

Советский инцеклопедический словарь ;-)


 
_Narayan_   (2003-04-25 10:52) [15]

2 Соловьев
Оч смешно...

2 Mike Kouzmine
про изменение логики работы с базой я не спрашивал

неужели не ясно о чём речь


 
Соловьев   (2003-04-25 10:55) [16]

2 _Narayan_ (25.04.03 10:52)
я не телепат, как еще можно от тебя добиться реальных данных?
Не надо с сарказмом отвечать, если ты уже спрашиваешь, то удосужся предоставить максимум данных.


 
Zacho   (2003-04-25 10:58) [17]


> _Narayan_ (25.04.03 10:52)

Если тебе надо выполнить какой-либо оператор DDL (CREATE TABLE, ALTER TABLE, CREATE PROCEDURE и т.п.) то вполне подойдет TIBSQL (или TIBQuery),Соловьев правильно сказал.
Если надо выполнить последовательность операторов, т.е. скрипт - то можно использовать стандартный isql.exe или IBEScriptExecutive.exe из IBExpert. В IBX компонента для выполнения скриптов нет. Вроде бы есть в FIBPlus, но я с ними не работаю, т.ч. точно не знаю.


 
Zacho   (2003-04-25 11:00) [18]


> Zacho © (25.04.03 10:58)

Извиняйте, ошибся. IBEScript.exe


 
Sergey13   (2003-04-25 11:01) [19]

2_Narayan_ (25.04.03 10:30)
>2 Наталия
>Время идет, всё меняется - формат номера пасспорта, например.
ИМХО, неудачный пример. И Наталья в этом случае права.


 
_Narayan_   (2003-04-25 11:15) [20]

2 Zacho
Спасибо. Хоть кто-то по делу говорит.

2 Sergey13
Интересно, в каком месте он не неудачный.

Соловьев
Телепатом быть не надо. См. _Narayan_ (25.04.03 10:20)


 
MsGuns   (2003-04-25 11:15) [21]

"Расчеты" на клиенте, т.е. последовательность SQL-операторов (например, изменение в нескольких таблицах по одному оператору UPDATE/INSERT на каждую) я делаю программно так:
1. Записываю операторы (заранее отлаженные, к примеру, в IBExpert), в спец.подкаталог каталога с gdb. Затем в соотв.процедуре (обработчике) проги "поднимаю" их по очереди и через IBSQL запускаю.
2. Добавляю или в DataModule или в спец.заведенный для этой цели Unit запросы как TStrings, там же их и заполняю (если в DataModule, то в событии OnCreate). Процедура запуска поочередно записывает это списки в IBSQL/IBQuery (если надо параметрическая настройка) и выполняет.

А вообще всю подобную алгоритику, ИМХО, надо "вписывать" в логику сервера (ХП, триггера), однако по разным причинам не всегда это возможно


 
_Narayan_   (2003-04-25 11:30) [22]

2 MsGuns
Способ, конечно не из тех, что потрясает воображение, но всё равно спасибо.


 
Sergey13   (2003-04-25 11:49) [23]

2_Narayan_ (25.04.03 11:15)
>Интересно, в каком месте он не неудачный.
А в том месте, что какое то время действительны оба вида паспортов. В дальнейшем надо хранить и старые данные. Кроме паспорта РФ для удостоверения личности может применяться еще куча разных документов (например военный билет или паспорт другого государства). Для такого рода реквизитов (не несущих в своем составе полезной информации) больше подходит просто строка + тип документа.
Хотя если твоя программа генерит паспортные номера, тогда конечно...
В любом случае - изменение структуры данных зашивать в программу, ИМХО, не есть гут.



 
Наталия   (2003-04-25 11:52) [24]

Вспоминается:
-Каким способом мне лучше всего отрубить себе палец?
-Зачем отрубать? Может, лучше вылечить его?
-А разве заноза лечится?
-Конечно, лечится!
-Нет, у меня очень большая и больная заноза! Вы мне тут без понтов скажите, как всё-таки лучше палец-то отрубить?
(c) sniknik


 
NickBat   (2003-04-25 11:56) [25]

> Наталия © (25.04.03 11:52)
Блеск!! :)) И глваное - в тему!


 
_Narayan_   (2003-04-25 12:02) [26]

2 Наталия
Многоуважаемая Наталья, не просто вылечить занозу, когда
доктор один, а пальцы с занозами по восьми городам разбросаны.
Может вам лучше в тетрис играть ?


 
Johnmen   (2003-04-25 12:02) [27]

>Наталия ©
>NickBat ©

Ж;^)

Просто юношеский максимализм мешает автору нормально вести диалог...:)


 
Наталия   (2003-04-25 12:06) [28]

_Narayan_ (25.04.03 12:02)
Да не горячись ты так. На самом деле никто не хочет тебя обидеть или оскорбить. Ты бы описал свою проблему поподробнее. Может, там действительно можно обойтись без генерации метаданных в программе.


 
_Narayan_   (2003-04-25 12:06) [29]

2 Sergey13
А кто говоорил о зашивании в программу изменений структуры данных
См. _Narayan_ (25.04.03 10:20)


 
Соловьев   (2003-04-25 12:10) [30]

2 _Narayan_
Вот ты пишешь

> _Narayan_ (25.04.03 10:20)
> 2 Anatoly Podgorestky
> ceate table например

И хочешь чтобы тут тебе написали код, да еще разжевали. Просто можно же было показать, что вот делаю так - код,компоненты и какие ошибки.
Если ты думаешь что все тут просто жаждут решать за кого-то его проблемы, то ты ошибаешся.


 
_Narayan_   (2003-04-25 12:11) [31]

2 Наталия
Да может у меня и не никакой проблемы...
Я не хочу обходиться без генерации метаданных в программе.
Повторяю
Надо скрипт выполнить из программы (скрипт в обычном текстовом файле)

Неужели не понятно.

А если вы этого не делали никогда, так зачем тут вобще свои реплики вставлять.

Best regards.


 
Соловьев   (2003-04-25 12:15) [32]

читай внимательно ответы.

> Надо скрипт выполнить из программы (скрипт в обычном текстовом
> файле)


> Zacho © (25.04.03 11:00)
>
> > Zacho © (25.04.03 10:58)
>
> Извиняйте, ошибся. IBEScript.exe



 
_Narayan_   (2003-04-25 12:23) [33]

2 Соловьев

>читай внимательно ответы.

аналогично...


 
Zacho   (2003-04-25 12:24) [34]


> _Narayan_ (25.04.03 12:11)

Ну и в чем конкретно проблема ? Запускай из программы IBEScript.exe myscript.sql
Надеюсь, как пользоваться CreateProcess (или ShellExecute) писать не надо ?


 
MsGuns   (2003-04-25 12:36) [35]

Кстати, ИМХО, неплохое решение: Zacho © (25.04.03 12:24)
Если не нравится, напиши свой парсер текстовых скриптов и процедуру запуска такого скрипта.
Но, все равно, ХП с этим справляется куда эффективнее. И не трабла, что в восьми городах - хоть в восьмидесяти. Все равно ж ты будешь пачи туда слать. Вот и закинь в пач прожку или батник для создания нужной ХП. И все дела. Кстати, в дальнейшем при изменении алгоритма запросов не придется вообще ворошить проги,- достаточно просто рихтануть соотв.ХП и выслать пач с их переопределением (или созданием)




 
_Narayan_   (2003-04-25 12:38) [36]

2 Zacho
не, не надо :)

а проблемы уже давно нет
см. _Narayan_ (25.04.03 11:15)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.009 c
1-46712
.::D.e.M.o.N.i.X::.
2003-05-04 05:40
2003.05.15
Как поймать сообщения консоли?


3-46630
me2
2003-04-24 12:26
2003.05.15
Вставка записи втаблицу при помощи IBDataSet


1-46724
OOOoo
2003-04-29 08:39
2003.05.15
Закрытие exe из dll


8-46851
Eugeny (r66)
2003-02-05 10:43
2003.05.15
bmp(24bit) -> gif(4bit) (+)


3-46589
Rise
2003-04-23 13:24
2003.05.15
Query.RequestLive и Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский