Por que isso falha no SQL Developer em um banco de dados Oracle e qual seria a maneira apropriada de alcançar o mesmo?
DECLARE v_pNbr NUMBER := 100150;
begin
select * from TARGETTABLE where PROCESSNBR = v_pNbr;
end;
ORA-06550: linha 3, coluna 2: PLS-00428: uma cláusula INTO é esperada nesta instrução SELECT
Vindo do SQL Server, me acostumei a criar variáveis no editor/página de consulta do SSMS e, em seguida, executá-las em várias seleções. Por isso, permite entender as operações com uma mudança para um em vez de muitos. Os exemplos que eu vi parecem sugerir um uso histórico do terminal em vez do editor, o que pode impedir essa maneira de trabalhar.... Portanto, qual é a maneira aceita de trabalhar com pl/sql como tal.
Você não precisa de PL/SQL para isso, você pode usar SQL simples após inicializar uma variável de ligação, por exemplo.
Ou você pode simplesmente usar:
E o SQL Developer solicitará o valor da variável.
O código PL/SQL é executado no servidor de banco de dados e não exibe um conjunto de resultados no cliente. Sim, o código PL/SQL pode armazenar resultados em uma área de memória intermediária no servidor, então o cliente é responsável por obter e exibir esse conteúdo. Outra maneira é abrir um cursor em PL/SQL e devolvê-lo ao cliente. Ou você pode criar uma função de tabela PL/SQL.