Pular para o conteúdo

Fóruns Banco de dados Oracle EXECUTE IMMEDIATE ‘ALTER SYSTEM….’ EXECUTE IMMEDIATE ‘ALTER SYSTEM….’

#95772
Niggaz
Participante

    Então jspaulonci,

    a ideia do script é: Matar a sessão do user, e depois dropar o mesmo. Porém se eu coloco o DROP dentro do script, ele da erro de user conectado.
    Fora do bloco PL, ele executa….


    DECLARE
    vSid NUMBER:=NULL;
    vSerial NUMBER:=NULL;
    CURSOR curDados IS
    SELECT
    SID
    ,SERIAL#
    INTO vSid, vSerial
    FROM V$SESSION
    WHERE USERNAME = 'TESTEDROP';
    BEGIN
    OPEN curDados;
    LOOP
    FETCH curDados INTO vSid, vSerial;
    EXIT WHEN curDados%NOTFOUND;
    EXECUTE IMMEDIATE 'ALTER SYSTEM DISCONNECT SESSION'
    ||''''||vSid||','||vSerial||''''||' POST_TRANSACTION';
    END LOOP;
    CLOSE curDados;
    BEGIN
    EXECUTE IMMEDIATE 'DROP USER TESTEDROP CASCADE';
    END;
    END;

    Erro: ORA-01940 – não é possivel eliminar um usuário conectado….