0

たとえば、次のようなコードを作成しました。

...
PROCEDURE procedure1(... some parameters ...)
BEGIN
  DECLARE l_xxx VARCHAR(5);

  SET l_xxx = 'ERROR';

  IF l_xxx = 'ERROR' THEN
     -- in this section, I want to call 'foo' process below
  END IF;

  foo:BEGIN
     -- Some process
  END;
END;

error:BEGINストアド プロシージャでを呼び出すことはできますか?

4

1 に答える 1

1
  1. 別のストアド プロシージャを作成し、GOTO のようなコマンドの代わりに呼び出すことができます。
  2. ユーザー変数を使用して IF-THEN ステートメントを使用して実行してみてください。

例えば:

DECLARE l_xxx VARCHAR(5);

SET l_xxx = 'ERROR';
SET @a = NULL;

IF l_xxx = 'ERROR' THEN
  SET @a = 1; -- Set error flag
END IF;

IF @a IS NULL THEN
  -- Some process, when there were no errors.
END IF;

IF @a = 1 THEN
  BEGIN
  -- Some process
  END;
END IF;
于 2012-09-06T15:05:42.270 に答える