Sql Server では、多くの場合、ストアド プロシージャの本体をテストするときに、本体を SSMS にコピーし、ページの上部で変数を宣言し、いくつかのサンプル値に設定して、本体をそのまま実行します。
たとえば、私のprocが
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」が必要です....
解決済み:
@Allanのおかげで、十分に機能しています。Oracle SQL Developer は、指定したパラメータ値を記憶しているようです。ただし、PL/SQL開発者はこれとは何の関係も望んでいません....
「スクリプトとして実行」すると、デフォルトに従いますが、グリッド/スプレッドシートではなく、ASCI テキストとしてのみ結果を返します