1

見出しがはっきりしないのは承知しています。これが写真です

私は &a を使用しています。これは $a と見なされます。、出力 &a および &a で。同じ出力を与えています。&a の後に単一の .(DOT) を指定してもエラーが発生しないのに、 &a の後に文字、演算子、またはワイルド文字を配置するとエラーが発生するのはなぜですか。

これがコードです。

BEGIN
  FOr i in &&a...3 LOOP
     DBMS_OUTPUT.PUT_LINE(i||' '||&a.||' '||&a);
END LOOP;
END;

出力が来る

1 1 1
2 1 1
3 1 1
4

1 に答える 1

1

ドットは&定義の区切り文字です。ほとんどの場合、違いはわかりませんが、何らかの理由で変数名の後に空白などがない場合、混乱を招く可能性があります。たとえば、文字列内の変数と何かを連結する場合、'&asomething'「asomething」という名前の変数を要求します。その'&a.something'ようにすると、「a」という名前の変数が要求され、提供された値の最後に「something」が追加されます。の後のその他の文字&aは、変数名の一部として扱われるか、名前の一部として有効でない場合はエラーが発生します。

于 2010-04-12T19:56:49.660 に答える