Форум: "Базы";
Текущий архив: 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