2
内で次のPL/SQLブロックの作品を変数を使用している場合:OracleのPL/SQL:構文エラーSAMPLE句
DECLARE
r TABLE1%ROWTYPE;
BEGIN
SELECT * INTO r FROM TABLE1 SAMPLE(1) WHERE ROWNUM = 1;
END;
しかし、私はSAMPLE句は、Oracle内の変数とリテラルを交換しようとすると、構文エラーを返します。
DECLARE
s NUMBER;
r TABLE1%ROWTYPE;
BEGIN
s := 1;
SELECT * INTO r FROM TABLE1 SAMPLE(s) WHERE ROWNUM = 1;
END;
ORA-06550: line 6, column 39:
PL/SQL: ORA-00933: SQL command not properly ended
私は間違っていますか?
私は、Oracle 10およびSQL Developerを使用しています。
(これは簡単な例ですが、実際にはテーブルの現在の行数に基づいてSAMPLEの割合が動的に計算されるランダムな行の選択を最適化しています。私はリテラルを使用できません。計算の結果を割り当てるには変数が必要です)。