Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como criar o cursor de referência fraca PL/SQL no banco de dados Oracle

Por que o cursor de referência fraco de PL/SQL 


No tutorial anterior, aprendemos como buscar dados de diferentes tipos de dados de diferentes colunas usando o cursor ref forte. Os cursores ref fortes têm uma limitação de terem um tipo de retorno fixo que só pode ser um tipo de dados de registro. No entanto, o tipo de retorno fixo torna um cursor ref forte menos propenso a erros no desenvolvimento do aplicativo. Mas isso definitivamente requer uma etapa extra de criação de um tipo de dados de registro definido pelo usuário.

Então, não temos nenhuma maneira alternativa de buscar dados de diferentes tipos de dados usando o cursor ref que não exija a criação de um tipo de dados de registro definido pelo usuário? Não podemos criar um cursor ref que não tenha um tipo de retorno fixo? Vamos descobrir as respostas para essas perguntas neste blog.

O que é um Cursor de Referência Fraca PL/SQL no Banco de Dados Oracle?


Um cursor de referência que não possui um tipo de retorno fixo é chamado de Cursor de referência fraco.

Podemos usar o Cursor de Referência Fraca com qualquer instrução SELECT ou não?


Sim, nós podemos. Como os cursores ref fracos não têm um tipo de retorno fixo como os cursores ref fortes, eles estão abertos a todos os tipos de instruções SELECT. Isso também os torna cursores de referência mais usados ​​em comparação com outros.

Acho que agora você tem as respostas para as perguntas acima. PL/SQL Weak Ref Cursor é a forma alternativa de buscar dados de diferentes tipos de dados. Como o cursor ref fraco não possui um tipo de retorno fixo, não há necessidade de criar um tipo de dados de registro separado. Agora que tiramos todas as nossas dúvidas é hora de ver um exemplo que vai te ajudar a aprender como criar cursores de ref fracos PL/SQL no Oracle Database.

Sintaxe do cursor de referência fraco

TYPE ref_cursor_name IS REF CURSOR;

Exemplo:como criar cursor de referência fraco no banco de dados Oracle

SET SERVEROUTPUT ON;
DECLARE
    /*Declare Weak Ref Cursor*/
    TYPE wk_RefCur IS REF CURSOR;
    /*Declare Cursor Variable of ref cursor type*/
    cur_var wk_RefCur;
    
     /*Declare two "Anchored Datatype Variable" for holding data from the cursor*/
    f_name  employees.first_name%TYPE;
    emp_sal employees.salary%TYPE;
BEGIN
    OPEN cur_var FOR SELECT first_name, Salary FROM employees WHERE employee_id = 100;
    FETCH cur_var INTO f_name, emp_sal;
    CLOSE cur_var;
    DBMS_OUTPUT.PUT_LINE (f_name ||' '||emp_sal);
END;
/

Vá em frente e tente executar este programa para ver qual será a saída. Se você quiser, também pode baixar este script do repositório GIT. Aqui estão os links [Script / Git Repository]

Se você aprender melhor assistindo a vídeos, aqui está o tutorial em vídeo sobre o cursor de referência fraca PL/SQL.



Esse é o tutorial de como criar um cursor de referência fraca PL/SQL no Oracle Database. Então não deixe de se inscrever no canal do YouTube. No próximo tutorial vamos aprender o que é Sys Ref Cursor no Oracle Database. Obrigado e tenha um ótimo dia!