Синхронизация:Как отправить (выполнить) большой SQL на клиенте

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск

Как отправить (выполнить) большой SQL на клиенте

Для этого используется процедура UTPR_MASTERDETAIL_CF. Если ее нет ниже SQL:

SET TERM ^ ;
create or alter procedure UTPR_MASTERDETAIL_CF
as
declare variable PROFILE_ID type of DM_ID;
declare variable S DM_TEXT1024;
declare variable STR DM_BLOBTEXT;
begin
 for select md.id from g$profiles md
where md.dbsecurekey is not null and md.relationtype=1 and status=0
--and  md.id in (100)
into :profile_id do
 begin
   str='file:D:\sql\файл для отправки';
--    select data from g$tasks where id=546430 into str;
   insert into g$tasks (PROFILE_ID,TASK_TYPE,CAPTION,data,checkprevtask) values (:profile_id,0, 'Описание task',:str,null);
 end
end^
SET TERM ; ^
GRANT SELECT ON G$PROFILES TO PROCEDURE UTPR_MASTERDETAIL_CF;
GRANT INSERT ON G$TASKS TO PROCEDURE UTPR_MASTERDETAIL_CF;
GRANT EXECUTE ON PROCEDURE UTPR_MASTERDETAIL_CF TO SYSDBA;

В строке str='file:D:\sql\файл для отправки'; указываем путь до файла с файлом SQL