powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / динамический sql в сохр. процедуре
4 сообщений из 4, страница 1 из 1
динамический sql в сохр. процедуре
    #32632045
Carat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не работает такая фишка (а может и не должна работать),
нуждаюсь в совете экперта. обратите внимание да
двойной апостроф в опереторе "case".

....
....
declare variable sql varchar(1024)
as
begin
sql = 'select ';
sql = sql || ' ID, case STATE when 1 then ''new'' else ''old'' ';
sql = sql || 'from MY_TABLE';
for execute statement sql into :ID, :STATE
do suspend;
end
...
Рейтинг: 0 / 0
динамический sql в сохр. процедуре
    #32632098
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
declare variable sql varchar( 1024 )
as
begin
sql = 'for select ';
sql = sql || ' ID, case STATE when 1 then ''new'' else ''old'' ';
sql = sql || 'from MY_TABLE';
sql = sql || ' into :ID, :STATE do suspend ;' 
  execute statement sql;
end 

А так?
...
Рейтинг: 0 / 0
динамический sql в сохр. процедуре
    #32632131
Carat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую, сенкс.
...
Рейтинг: 0 / 0
динамический sql в сохр. процедуре
    #32632455
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С апострофами ты запутался. Вот так сделай:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare variable sql varchar( 1024 )
declare variable ap char( 1 )
as
begin
  ap = '''';
  sql =         'select ';
  sql = sql || ' ID, case STATE when 1 then '||ap||'new'||ap||' else '||ap||'old'||ap ';
  sql = sql || ' from MY_TABLE';
  for execute statement sql into :ID, :STATE
  do suspend;
end

...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / динамический sql в сохр. процедуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]