Показать сообщение отдельно
  #1  
Старый 03.10.2010, 19:39
foxloza foxloza вне форума
Прохожий
 
Регистрация: 03.10.2010
Сообщения: 1
Репутация: 10
По умолчанию хранимые процедуры interbase

Доброе время суток!!1
Возникла такая проблема:
При написании запроса на создание хранимой процедуры текст выглядит так
Код:
      Add('CREATE PROCEDURE PROC_ADD_MONTH');
      Add('(');
      Add('  DATA_BEG DATE,');
      Add('  DATA_END DATE,');
      Add('  KODV INTEGER');
      Add(')');
      Add('AS');
      Add('declare variable DAT DATE;');
      Add('begin');
      Add('   DAT=DATA_BEG;');
      Add('   While (DAT<=DATA_END) do begin');
      Add('       INSERT INTO TAB_DOB(KODVIR, DATA) VALUES(:KODV, : DAT);');
      Add('       DAT=DAT+1;');
      Add('   end');
      Add('end');
а после выполнения в IB сонсоли
Код:
      Add('CREATE PROCEDURE PROC_ADD_MONTH');
      Add('(');
      Add('  DATA_BEG DATE,');
      Add('  DATA_END DATE,');
      Add('  KODV INTEGER');
      Add(')');
      Add('AS');
      Add('declare variable DAT DATE;');
      Add('begin');
      Add('   DAT=DATA_BEG;');
      Add('   While (DAT<=DATA_END) do begin');
      Add('       INSERT INTO TAB_DOB(KODVIR, DATA) VALUES(?, ?);');
      Add('       DAT=DAT+1;');
      Add('   end');
      Add('end');
проще говоря, меняется
Add(' INSERT INTO TAB_DOB(KODVIR, DATA) VALUES(:KODV, : DAT);');
на
Add(' INSERT INTO TAB_DOB(KODVIR, DATA) VALUES(?, ?);');
Помогите исправить это недорозумение
Ответить с цитированием