Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Использование переменной в названии поля таблицы  [new]
Guest2008
Guest
Скажите, можно ли в выборке указывать в названии поля таблицы некую переменную?

Пример.

Есть таблица с полями.

...
f28,
f29,
...

Можно ли использовать что-то наподобие?

select f || to_number(to_char(sysdate,'mm')) from table
29 июн 08, 20:54    [5862452]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
jan2ary
Member

Откуда: Киев
Сообщений: 1780
Just try and you'll see :)
Почему бы не попробовать?
29 июн 08, 23:06    [5862706]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
Guest2008
Guest
Там где есть оракл, нет инета и наоборот.
29 июн 08, 23:35    [5862777]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
Gogen
Member

Откуда: Москва
Сообщений: 420
напрямую нельзя, используйте динамический SQL

s= 'select f '|| to_number(to_char(sysdate,'mm'))|| ' from table';
Open Cursor....

если надо в теле exe - пишите фунхцию с возвратом refcursor и вызывайте ее.

Вообще - поиск рулит, ключевые слова "динамический SQL"
2 июл 08, 10:11    [5873623]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
700098
Member

Откуда:
Сообщений: 17
Gogen
напрямую нельзя, используйте динамический SQL

s= 'select f '|| to_number(to_char(sysdate,'mm'))|| ' from table';
Open Cursor....

если надо в теле exe - пишите фунхцию с возвратом refcursor и вызывайте ее.

Вообще - поиск рулит, ключевые слова "динамический SQL"


Почему нельзя?
declare
  n number:=6;
  r number;
begin
  select
    n
  into 
    r
  from dual
  ;
  raise_application_error(-20001,r);
end;
  
2 июл 08, 12:46    [5874973]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
700098
Member

Откуда:
Сообщений: 17
И до кучи в sqlplus

var n number;
exec :n:=101;
select :n from dual;
2 июл 08, 12:49    [5874986]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
Madness
Member

Откуда: Москва
Сообщений: 648
700098
Почему нельзя?

Перечитайте исходный вопрос внимательно
2 июл 08, 12:50    [5875006]     Ответить | Цитировать Сообщить модератору
 Re: Использование переменной в названии поля таблицы  [new]
700098
Member

Откуда:
Сообщений: 17
Madness
700098
Почему нельзя?

Перечитайте исходный вопрос внимательно

Действительно невнимательно прочел.
Воспринял, что хочет рабоать с внешней переменной как с полем.
Тогда действительно только динамический sql.
2 июл 08, 12:55    [5875037]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить