Como eu declaro e uso variáveis em PL / SQL como faço em T-SQL?
No Sql Server, muitas vezes quando estou testando o corpo de um procedimento armazenado, eu copio o corpo em SSMS, DECLARE as variáveis na parte superior da página, defina-as em alguns valores de amostra e execute o corpo como está.
Por exemplo, se meu proc for
CREATE PROC MySampleProc
@Name VARCHAR(20)
AS
SELECT @Name
Então meu teste sql seria
DECLARE @Name VARCHAR(20)
SET @Name = 'Tom'
SELECT @Name
O que é o Oracle PL / SQL equivalente a isso?
Isso é o mais próximo que eu cheguei, mas estou recebendo "PLS-00428: uma cláusula INTO é esperada nesta instrução SELECT"
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
select myname from DUAL;
END;
Este é um exemplo melhor do que estou realmente tentando fazer:
DECLARE
myname varchar2(20);
BEGIN
myname := 'Tom';
SELECT *
FROM Customers
WHERE Name = myname;
END;
Mas, novamente, ele quer um 'INTO' quando na verdade eu só quero os registros impressos na tela, não armazenados em outra tabela ....
RESOLVIDO:
Graças a @Allan, eu trabalhei bem o suficiente. O Oracle SQL Developer aparentemente lembra os valores de parâmetros fornecidos por você. O PL / SQL Developer, no entanto, não quer nada com isso ....
Se você executar "Executar como script", ele obedecerá aos seus padrões, mas só retornará resultados como texto ASCI, não em uma planilha / grade