| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Выполнить хранимую процедуру |
| Автор: Delphist 10.11.2006, 09:20 |
| У меня есть хранимая процедура, код которой хранится в БД. Выполнить её из приложения не вызывает проблем - пишем в select'e FIBDataSet'а execute procedure MY_PROC. Вопрос в следующем, а как выполнить хранимую процедуру, если её код хранится не в БД, а в приложении. |
| Автор: Akella 10.11.2006, 09:42 |
| Сначала нужно её создать в БД, т.е. Create Procedure, потом выполнить, потом удалить. |
| Автор: superVad 10.11.2006, 09:47 |
| динамически создать в БД эту процедуру (CREATE PROCEDURE... в Query и Query.ExecProc) выполнить ее удалить (если надо) без шуток (пока я писал Akella уже отписался - оперативно однако |
| Автор: Akella 10.11.2006, 09:50 |
| думаю, что не получиться, по крайней мере с Classic Server, т.к. после создания хранимки нужно отключать всех клиентов. |
| Автор: Dremlin 10.11.2006, 09:55 |
| а смысл создавать и удалять процедуру, если можно просто выполнить ее текст? |
| Автор: Akella 10.11.2006, 10:00 |
да? а для чего тогда придумали PSQL и DSQL??? |
| Автор: Delphist 10.11.2006, 10:01 | ||
Как? Как обычный Sql - не катит. Добавлено @ 10:06 Оъясню зачем мне нужно, чтобы текст процедуры хранился в программе. Пользователь в моей проге отмечает галкой нужный пункт. Прога генерит скрипт хранимой процедуры, который должен быть выполнент. Таких пунктов может быть до 20 штук - не хранить же мне в БД 20 хранимых процедур. Через параметры процедуры не получится т.к. текст процедуры меняется довольно сильно. |
| Автор: superVad 10.11.2006, 10:18 |
| пиши одну процедуру - внутри ее 20 и выбор одной из них по параметру |
| Автор: Akella 10.11.2006, 10:44 |
нет, как обычный SQL есть DSQL - динамический SQL. Добавлено @ 10:46 вопрос на засыпку - почему не хранить? ПОЧЕМУ? Объясни, дай внятный ответ. |
| Автор: Vas 10.11.2006, 10:57 |
| Одна процедура с 20 параметрами, в зависимости от параметров делаем то что нужно и все |