Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Как программно подменить таблицу?


Автор: Atomic63 27.3.2007, 07:56
Здравствствуйте! Подскажите пожалуйста можно ли программно подменить таблицу которая используется в PACkAGE на другую таблицу имя которой указано в переменной VARCHAR(передаваемой как параметр функции).

Автор: Atomic63 27.3.2007, 08:14
Наверняка есть какая нибудь простенькая функция для такого преобразования

Автор: batigoal 27.3.2007, 08:46
Код

EXECUTE IMMEDIATE 'select id from ' || table_name INTO some_id;

Это, конечно, не "подмена", но тоже решение.

Автор: Atomic63 27.3.2007, 08:48
Спасибо хоть что то но немного не то

Автор: DimW 28.3.2007, 08:15
Цитата(Atomic63 @  27.3.2007,  08:48 Найти цитируемый пост)
 но немного не то 


Цитата(Atomic63 @  27.3.2007,  07:56 Найти цитируемый пост)
 Подскажите пожалуйста можно ли программно подменить таблицу 


что в твоем понимании  - "подменить таблицу"?!




Автор: Atomic63 28.3.2007, 11:57
Подменить значит указать другое название

Автор: Sqlninja 28.3.2007, 12:30
Цитата(batigoal @ 27.3.2007,  08:46)
Код

EXECUTE IMMEDIATE 'select id from ' || table_name INTO some_id;

Это, конечно, не "подмена", но тоже решение.

Такая шняга работать не будет. По динамическому курсору смотри в другой своей теме.

Автор: batigoal 28.3.2007, 13:14
Цитата(Sqlninja @  28.3.2007,  13:30 Найти цитируемый пост)
Такая шняга работать не будет.

Почему?

Вот кусок из рабочего кода:
Код

     EXECUTE IMMEDIATE 'select sysdategmt@' || dblink || ' from dual'
        INTO remote_sysdategmt;

Работает.

Автор: Sqlninja 28.3.2007, 13:20
Цитата(batigoal @  28.3.2007,  13:14 Найти цитируемый пост)
Почему?

Кавычку не заметил  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)