Вызов preocedure путем передачи DB Link динамически - PullRequest
1 голос
/ 15 февраля 2011

Как динамически передать ссылку на БД при вызове процедуры?

Сработает немедленное выполнение, или нам нужно использовать dbms_sql?

Для DBMS_SQL я видел, что он используется в основном с curosrs: (

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 15 февраля 2011

Вы можете использовать EXECUTE IMMEDIATE.Что-то вроде

DECLARE
  l_dblink_name VARCHAR2(30) := 'YourDBLink';
  l_sql_stmt    VARCHAR2(1000);
BEGIN
  l_sql_stmt := 'BEGIN procedure_name@' || l_dblink_name || ' (:1, :2); END;';
  EXECUTE IMMEDIATE l_sql_stmt
    USING 17, 42;
END;

при условии, что ваша процедура принимает два параметра, и вы хотите вызвать ее со значениями параметров 17 и 42.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...