|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Триггеры и Хранимые процедуры (Paradox+TQuery)
Всем здрасьте. Сражу скажу, если вопросы глупые, то тухлыми помидорами не закидывайте.
У меня имеется 4 таблички PARADOX, несколько TQuerry, BDGrid и DataSourse. С этим вроде как разобрался, реализовал поиск\добавление\удаление итд. Однако, сейчас передо мной стоит задача внедрить Хранимые процедуры, Триггеры, Представления и функции объединенные в динамически загружаемую библиотеку. Для начала я хочу сделать Триггеры и Хранимые процедуры (как я понял триггер это и есть хранимая процедура, просто имеет конкретное назначение). Сколько не пытался где-то чего-то нарыть про все это дело, но ни к чему толком не пришел (видел примеры для MySQL, TSQL, но не помогли). Пробывал сувать строчки SQL в SQLstring - результатом было сообщение "данная способность не поддерживается" И теперь вопросы собственно-та: Вообще с помощью TQuerry можно создать эти хранимые процедуры? По мне так он это дело не умеет. Если действительно нельзя, то как быть? |
#2
|
||||
|
||||
На парадоксе вы этого не сделаете. Т.к. тригер и хранимка - суть понятия из клиент-серверной архитектуры, а парадокс таковым никогда небыл.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
Цитата:
Что вы можете посоветовать в моем случае? Придется все начинать с нуля (не считая таблиц)? Не знаю чем отличается MySQL от TSQL, но с первым приходилось уже встречаться при работе с PHP. Потому если есть предложения то лучше с MySQL. |
#4
|
||||
|
||||
TSQL - это еще что такое?
Transact SQL - что ли? Так это не SQL-сервер, а внутренний язык для общения с MSSQL. В вашей задаче меня смущает вот это: Цитата:
Видимо вы не очень представляете, что такое тригер, а что такое хранимая процедура. Попробую по народно/крестьянски объяснить: Тригер - это действительно некая процедура которая срабатывает исключительно на определенное событие. Для таблицы в БД таких событий обычно 7. 1. До вставки записи(ей) 2. До удаления записи(ей) 3. До изменения записи(ей) 4. После вставки записи(ей) 5. После удаления записи(ей) 6. После изменения записи(ей) 7. Собственная обработка. Вы можете обработать индивидуально каждое событие по отдельности или все скопом, но основная прелесть этого механизма в том, что независимо от источника подключения к таблице тригер сработает в любом случае, т.к. фактически вы подключаетесь не напрямую к таблице, а к серверу который и реализует это удовольствие. Вполне допускаю возможность написания драйвера, который будет поддерживать данную технологию без участия сервера, но мне с таким сталкиваться не приходилось, хотя в свете того, что акцес 2010 стал поддерживать тригеры и для локальной БД, вполне возможно, что так и будет. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 25.12.2009 в 17:36. |
#5
|
||||
|
||||
Цитата:
|
#6
|
||||
|
||||
Так в чем вопрос- то? Переходи на MySql или что- то подобное, вот и есть решение проблемы.
|
#7
|
||||
|
||||
Страдалецъ, да вроде понимаю как работает, про события читал. Не уверен правда в каком виде хранятся эти самые процедуры... думаю, что в виде обыкновенных файлов, которые запускается в определенных ситуациях.
|
#8
|
||||
|
||||
Цитата:
|
#9
|
||||
|
||||
IBQuery используется для запросов к Interbase или FireBird. Так-что это узкоспециализированный компонент доступа к BD.
У AdoQuery более широкое поле деятельности, в идеале если есть ODBC драйвер, то с помощью ADO можно подключаться к чему угодно. К сожалению на практике это не так. Скажем к IBase,Oracle и еще некоторым широкоиспользуемым BD насколько я в курсе через ADO не подключится. BDE - устаревшая во многом технология доступа к BD, но некоторые задачи с помощью нее решать намного легче. DBExpress - я эту технологию пробовал пару раз использовать, но наткнувшись на грабли бросил. Тут я ничего не подскажу. Вы спрашиваете совета. Но вы и сами прекрасно уже поняли, что если есть необходимось использовать хранимки и тригеры, от парадокса придется отказаться и смотреть в сторону клиент-серверного решения. Лично я предпочитаю работать с MSSQL. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
||||
|
||||
Цитата:
|