Oracle
А чи знаєте ви, що MS SQL Server не дозволяє виконувати в гетерогенних середовищах процедури навіть якщо драйвера дозволяють? Так, ми теж донедавна не представляли наявності такої проблеми. SQL Server просить повернення ResultSet, а процедура, як відомо, повернути значення, а тим більше вибірку, не може.
Увага, питання: як реалізувати виконання певної процедури на стороні оракла на вимогу сторони з MS SQL Server?
Індуський спосіб рідкісного милиці, який багато хто використовує:
- На стороні :
- Створюється таблиця (будь-яка).
- Створюється тригер на Insert / Update / Delete над цією таблицею.
- У тригері прописується виконання необхідної процедури.
- Створюється таблиця (будь-яка).
- З боку MS SQL Server виконують DML-операцію над таблицею.
Думки, рішення?
UPD: рішення, зроблене з підказки SergINI:
CREATE OR REPLACE FUNCTION test_dml(vSQL IN VARCHAR2)
RETURN VARCHAR2 AUTHID CURRENT_USER ISPRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE vSQL;
COMMIT;
RETURN(“SUCCESS”);
EXCEPTION
WHEN OTHERS THEN
RETURN(SQLERRM);
END;
Результат виконання DML-операції на тестовій таблиці:
SQL> SELECT test_dml(“update test_tab set col2=col2+1”) FROM dual;TEST_DML(“UPDATETEST_TABSET
——————————————————————
Схожі статті:
- JavaScript (0)
- JavaScript програмування WEB форм (0)
- Трохи про PHP. (0)
- Час виконання скрипта на PHP. (0)
- Випадають меню за допомогою CSS (0)
- Зовнішні критерії релевантності (0)
- Час виконання SQL запитів. (0)
Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.
Коментарів поки що немає.
Ваш отзыв
Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>