Как объявить и использовать переменные в PL / SQL, как в T-SQL?

На Sql Server часто, когда я тестирую тело хранимой процедуры, я копирую тело в SSMS, ОБЪЯВЛЯЮ переменные в верхней части страницы, устанавливаю для них некоторые примеры значений и выполняю тело как есть. .

Например, если мой процесс

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

Тогда мой тест sql будет

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

    SELECT @Name

Что такое Oracle PL / SQL эквивалентно этому?

Это самое близкое, что я придумал, но я получаю «PLS-00428: в этом операторе SELECT ожидается предложение INTO»

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

     select myname from DUAL;
END;

Это лучший пример того, что я действительно пытаюсь сделать:

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

     SELECT *
     FROM   Customers
     WHERE  Name = myname;
END;

Но опять же, он хочет «INTO», когда на самом деле я просто хочу, чтобы записи печатались на экране, а не сохранялись в другой таблице ....

RESOLVED:

Спасибо @Allan, у меня все работает достаточно хорошо. Oracle SQL Developer, очевидно, запоминает значения параметров, которые вы ему предоставляете. Однако PL / SQL Developer не хочет иметь с этим ничего общего.

Если вы «запускаете как скрипт», он будет соблюдать ваши значения по умолчанию, но он будет возвращать результаты только в виде текста ASCI, а не в виде таблицы или таблицы

Ответы на вопрос(3)

Ваш ответ на вопрос