powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / execute ibeblock против execute block
11 сообщений из 11, страница 1 из 1
execute ibeblock против execute block
    #39077415
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполняю два блока в скрипте:
всё ок:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
connect 'D:\Monitoring\FB_log_database.fdb' user 'SYSDBA' password 'masterkey';
execute BLOCK
    as declare variable T_COUNT integer;
begin
  for execute statement('select count(*) from repl$log')
          on external 'srv-250:SUPERMAGDK.FDB'
          with AUTONOMOUS transaction
          as user 'SYSDBA' password 'masterkey'
          into :T_COUNT
  do
  begin
    insert into REPL (COUNT_REPL, TIME_WRITE)
    values (:T_COUNT, current_timestamp);
  end
end;
commit;

At line 4, column 23:
Parsing error!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
connect 'D:\Monitoring\FB_log_database.fdb' user 'SYSDBA' password 'masterkey';
execute IBEBLOCK
    as declare variable T_COUNT integer;
begin
  for execute statement('select count(*) from repl$log')
          on external 'srv-250:SUPERMAGDK.FDB'
          with AUTONOMOUS transaction
          as user 'SYSDBA' password 'masterkey'
          into :T_COUNT
  do
  begin
    insert into REPL (COUNT_REPL, TIME_WRITE)
    values (:T_COUNT, current_timestamp);
  end
end;
commit; 

В чем разница?
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077440
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set term применить?
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077450
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyset term применить?
А надо? Ведь просто EB выполняется.
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077457
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET TERM ^;
set names WIN1251^
set CLIENTLIB 'fbclient.dll'^
connect 'D:\Monitoring\FB_log_database.fdb' user 'SYSDBA' password 'masterkey'^
execute IBEBLOCK
as declare variable T_COUNT integer^
begin
for execute statement('select count(*) from repl$log')
on external 'srv-250:SUPERMAGDK.FDB'
with AUTONOMOUS transaction
as user 'SYSDBA' password 'masterkey'
into :T_COUNT
do
begin
insert into REPL (COUNT_REPL, TIME_WRITE)
values (:T_COUNT, current_timestamp)^
end
end^
commit^
SET TERM ;^

At line 1, column 41:
Parsing error!
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 1.
begin.

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 1.
end.
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077528
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знает ibeblock про on external и т.д.
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077538
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpertНе знает ibeblock про on external и т.д. А научишь? Или как мне задачу решить - мне нужно сделать запрос к сторонней базе, там вычислить кол-во строк в таблице, записать его в базу и если оно больше n - сделать отправку письма?
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077552
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarvalues (:T_COUNT, current_timestamp)^
end
end^
commit^
SET TERM ;^Хрень писать изволите.
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077559
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyGallemarvalues (:T_COUNT, current_timestamp)^
end
end^
commit^
SET TERM ;^Хрень писать изволите.
простите,а как правильно?
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077599
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
set names WIN1251;
set CLIENTLIB 'fbclient.dll';
connect 'D:\Monitoring\FB_log_database.fdb' user 'SYSDBA' password 'masterkey';
SET TERM ^;
execute IBEBLOCK
as declare variable T_COUNT integer;
begin
for execute statement('select count(*) from repl$log')
on external 'srv-250:SUPERMAGDK.FDB'
with AUTONOMOUS transaction
as user 'SYSDBA' password 'masterkey'
into :T_COUNT
do
begin
insert into REPL (COUNT_REPL, TIME_WRITE)
values (:T_COUNT, current_timestamp);
end
end^
SET TERM ;^
commit;

авторская орфография сохранена.
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077639
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,спасибо
...
Рейтинг: 0 / 0
execute ibeblock против execute block
    #39077936
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarА научишь?

Нет. Потому что он так умеет работать хоть с десятью разными коннектами.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / execute ibeblock против execute block
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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