Я создал процедуру и выполнил то же, что показано ниже. Теперь, когда я выполняю процедуру, она застревает и создает архивные журналы, и в итоге в БД не остается места. Я хочу остановить выполняющуюся процедуру или запрос, выполняющийся на сервере, чтобы больше не создавалось журналов.
CREATE PROCEDURE GRANT_SELECTONDB(
IN DatabaseName varchar(255),
IN UserName varchar(255))
LANGUAGE SQL
BEGIN
DECLARE v_NAME VARCHAR(64);
DECLARE v_CREATOR VARCHAR(64);
DECLARE v_GrantQuery VARCHAR(320);
DECLARE c1 CURSOR FOR
(SELECT NAME,CREATOR FROM SYSIBM.SYSTABLES tabs WHERE upper(dBname)=upper(DatabaseName));
OPEN c1;
fetch_loop:
LOOP
FETCH c1 INTO v_NAME,v_CREATOR ;
SET v_GrantQuery = 'grant select on '|| v_CREATOR ||'.'|| v_NAME ||' to '|| UserName;
EXECUTE IMMEDIATE v_GrantQuery;
END LOOP fetch_loop;
CLOSE c1;
END%
call IBMUSER.GRANT_SELECTONDB('<DatabaseName>','<UserName>')%