1
簡単な手順を記述します。打ち上げのOracleの値を比較する際のエラー
DECLARE
connection_id LINE.CONNECTION_ID%TYPE := 11009;
tmp_integer INTEGER;
BEGIN
SELECT COUNT(*) INTO tmp_integer FROM LINE WHERE LINE.CONNECTION_ID = 11009;
DBMS_OUTPUT.PUT_LINE(connection_id);
DBMS_OUTPUT.PUT_LINE(tmp_integer);
END;
結果:
11009
3
それは良い結果です。
11009
30997
間違いがある:
DECLARE
connection_id LINE.CONNECTION_ID%TYPE := 11009;
tmp_integer INTEGER;
BEGIN
SELECT COUNT(*) INTO tmp_integer FROM LINE WHERE LINE.CONNECTION_ID = connection_id;
DBMS_OUTPUT.PUT_LINE(connection_id);
DBMS_OUTPUT.PUT_LINE(tmp_integer);
END;
が、この場合には
は、私は奇妙な結果を得る:私はCONNECTION_IDが11009. 修正した後でのみ、3行がありますか?
はい、間違いです。ありがとう! –
ようこそ - もう1つの注意点 - PL/SQL変数と列名の間の衝突の可能性を減らすコーディング・スタイルを採用するのが良い一般的な方法です。 v_COLUMN_NAMEまたはvCOLUMN_NAME - あなたのコードでは見つけやすくなりましたが、長いカーソル定義と多くの変数を持つパッケージは、多くの時間を浪費するデバッグにつながります。 – dpbradley