プロシージャが、削除または名前変更のいずれかが行なわれた別のプロシージャを参照している場合のシナリオについて考えてみましょう。
呼び出すプロシージャXが、別のプロシージャYを参照している場合、Yを実行する前に、Xに対して削除、名前変更、置換のいずれかが行なわれていると、以下のようになります。
セッション モード | Xが内部CALLを発行してYを実行した場合に生成される状況 |
---|---|
ANSI | エラー |
Teradata | 失敗 |
指定の引数がYの変更後の定義と互換性がない場合に、Yを置換すると、ANSIセッション モードでエラーが生成されるか、Teradataセッション モードで失敗が生成されます。
次の場合にエラーまたは失敗が起こります。
- 呼び出し引数の数が、Yの変更後の定義内のパラメータの数と等しくない場合。
- 呼び出し引数のデータ型が、Yの変更後のパラメータと互換性がない場合。
こうした条件は、参照先のデータベース オブジェクトの属性についても当てはまります。