pl/sql コードの匿名ブロックを使用しています。pl/sql プロシージャでは、結果のターゲット変数を指定する必要があります。
したがって、最初に宣言セクションで結果を保持する変数を定義してから、結果データを挿入する必要があります。
DECLARE
p_asOfDate DATE := '22-Feb-2011';
p_result myTable%ROWTYPE;
BEGIN
select * into p_result from myTable where dateInTable < p_asOfDate;
END
つまり、おそらく複数の行が返されるので、カーソルを使用して行を個別に取得します。
DECLARE
CURSOR c_cursor (asOfDate IN DATE) is
select * from myTable where dateInTable < asOfDate;
p_asOfDate DATE := '22-Feb-2011';
p_result myTable%ROWTYPE;
BEGIN
OPEN c_cursor(p_asOfDate);
loop
FETCH c_cursor into p_result;
exit when c_cursor%NOTFOUND;
/* do something with the result row here */
end loop;
CLOSE c_cursor;
END
結果を出力するには、たとえば次のようなものを使用できます。
dbms_output.put_line('some text' || p_result.someColumn);
または、SQL コマンドライン (sqlplus など) でクエリを実行し、結果をすぐにテーブルとして取得することもできます。
あなたの質問を正しく理解できたと思います...
アップデート
テストデータを挿入する別の方法を次に示します。
ツールの SQL 実行環境を使用して、pl/sql ブロックなしで SQL ステートメントを直接送信します。
変数部分の前に「&」を使用して、変数のプロンプトをトリガーします。
select * from myTable where dateInTable < &p_asOfDate;
結果は、このようにツールによってフォーマットされた方法で表示されるはずです。Aquaについては知りませんが、一部のツールには、SQLコードの外部でこれらのパラメーターを定義する機能があります。