Jak deklarować i używać zmiennych w PL / SQL, tak jak w T-SQL?

W serwerze Sql, często podczas testowania treści procedury przechowywanej, kopiuję ciało do SSMS, DECLARE zmienne na górze strony, ustawiam je na niektóre przykładowe wartości i wykonuję ciało w takiej postaci, w jakiej się znajduje.

Na przykład, jeśli mój proc

CREATE PROC MySampleProc
    @Name   VARCHAR(20)
AS
    SELECT @Name

Wtedy mój testowy sql byłby

DECLARE @Name VARCHAR(20)
SET     @Name = 'Tom'

    SELECT @Name

Co to jest odpowiednik Oracle PL / SQL?

To jest najbliżej tego, co wymyśliłem, ale otrzymuję „PLS-00428: w instrukcji SELECT oczekuje się klauzuli INTO”

DECLARE
   myname varchar2(20);
BEGIN
     myname := 'Tom';

     select myname from DUAL;
END;

To jest lepszy przykład tego, co naprawdę próbuję zrobić:

DECLARE
   myname varchar2(20);
BEGIN
     myname := 'Tom';

     SELECT *
     FROM   Customers
     WHERE  Name = myname;
END;

Ale znowu chce „INTO”, kiedy naprawdę chcę, żeby rekordy były drukowane na ekranie, a nie przechowywane w innej tabeli ....

ZDECYDOWANY:

Dzięki @ Allan, mam to wystarczająco dobrze. Oracle SQL Developer najwyraźniej pamięta wartości parametrów, które mu dostarczasz. PL / SQL Developer nie chce jednak mieć z tym nic wspólnego ....

Jeśli „Uruchamiasz jako skrypt”, będzie on przestrzegał Twoich ustawień domyślnych, ale zwróci tylko wyniki jako tekst ASCI, a nie w siatce / arkuszu kalkulacyjnym

questionAnswers(3)

yourAnswerToTheQuestion