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

Откуда:
Сообщений: 21
Здравствуйте. Пишу:
pole:='C_KUL';
ii:='00';
text_sql := 'select sum('||pole||') from Z#ORB_EFF_DO t where t.C_FLAG like 00 and t.c_podr like '||ii||'%';
EXECUTE IMMEDIATE text_sql INTO aktiv;
Проблема с ii. Неизвестный идентификатор. А как написать?? Спсб.
7 апр 11, 09:50    [10483587]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
Светлый_Дайвер
Member

Откуда: Киев-братъ городов Руськихъ
Сообщений: 903
объявить его...
7 апр 11, 10:06    [10483683]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
Mumytroll
Member

Откуда:
Сообщений: 224
pole:='C_KUL';
ii:='00';
text_sql := 'select sum('||pole||') from Z#ORB_EFF_DO t where t.C_FLAG like 00 and t.c_podr like '||ii||'%';
EXECUTE IMMEDIATE text_sql INTO aktiv;
7 апр 11, 10:07    [10483688]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Не забывай, что в сформированной строке шаблон для поиска должен быть в кавычках
7 апр 11, 10:10    [10483704]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
Mumytroll
Member

Откуда:
Сообщений: 224
Кавычки не закрыты на последнем условии.
7 апр 11, 10:10    [10483705]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
gubkabob
Member

Откуда:
Сообщений: 21
все объявлено. кавычки все закрыты. писалось уже по-разному, а счастья все нет. Как бы вы написали?
7 апр 11, 10:15    [10483737]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
Mumytroll
Member

Откуда:
Сообщений: 224
На мой взгляд так удобнее писать динамические запросы.

declare
  pole varchar2(64 char ) :='C_KUL';
  ii varchar2(64 char ) :='00'; 
	text_sql varchar2(4000 char ) := q'[select sum(%pole%) from Z#ORB_EFF_DO t where t.C_FLAG like 00 and t.c_podr like '%ii%%']';
begin
  text_sql := replace( replace( text_sql, '%ii%', ii), '%pole%', pole );
  dbms_output.put_line(text_sql);
end;	
7 апр 11, 10:19    [10483767]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
__vvp_
Member

Откуда: Санкт-Петербург
Сообщений: 1158
gubkabob
все объявлено. кавычки все закрыты. писалось уже по-разному, а счастья все нет. Как бы вы написали?

Как уже говорили
text_sql := 'select sum('||pole||') from Z#ORB_EFF_DO t where t.C_FLAG like 00 and t.c_podr like '''||ii||'%''';
7 апр 11, 10:27    [10483808]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
gubkabob
Member

Откуда:
Сообщений: 21
Mumytroll, да, оно. Спасибо Вам. *тут gubkabob снимает шляпу в знак своей признательности*
7 апр 11, 10:36    [10483863]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
-2-
Member

Откуда:
Сообщений: 15330
gubkabob
Как бы вы написали?
select sum(decode(pole, 
                  'a', a,
                  'b', b,
       )  )
   into aktiv
   from Z#ORB_EFF_DO t 
   where t.C_FLAG = '0' and t.c_podr like ii||'%';
7 апр 11, 11:25    [10484223]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
gubkabob
Mumytroll, да, оно. Спасибо Вам. *тут gubkabob снимает шляпу в знак своей признательности*

мог бы и штаны снять. ламеризм не всегда, но излечИм. можно попробовать розгами
(приговаривая читай концепции, пока не началось..)
7 апр 11, 11:50    [10484393]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
dbms_sql
Member

Откуда: London
Сообщений: 44
ПоКАЙТесь!
Сколько можно писать об использовании связанных переменных! Хватит засерать shared pool.
7 апр 11, 13:37    [10485419]     Ответить | Цитировать Сообщить модератору
 Re: строковая переменная  [new]
stax..
Guest
gubkabob
все объявлено. кавычки все закрыты. писалось уже по-разному, а счастья все нет. Как бы вы написали?

pole:='д''Артаньян';



.....
stax
7 апр 11, 18:49    [10487883]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить