LoginSignup
2
1

More than 5 years have passed since last update.

Firebird SQL のストアドプロシージャで FizzBuzz

Last updated at Posted at 2017-12-12

はじめに

これは FizzBuzz Advent Calendar 2017 13 日目の記事となります。
Firebird SQL のストアドプロシージャで FizzBuzz を書いてみます。

コード

適当な DB を用意し、ストアドプロシージャを書きます。

SET TERM ^;

CREATE PROCEDURE FizzBuzz
RETURNS
  (Result VARCHAR(10))
AS
  DECLARE VARIABLE I INTEGER = 0;
BEGIN
  WHILE (I < 100) DO
    BEGIN
      I = I + 1;
      IF ((mod(I, 3) = 0) and (mod(I, 5) = 0)) THEN
        Result = 'Fizz Buzz';
      ELSE
        BEGIN
          IF (mod(I, 3) = 0) THEN
            Result = 'Fizz';
          ELSE
            BEGIN
              IF (mod(I, 5) = 0) THEN
                Result = 'Buzz';
              ELSE
                Result = CAST(I as VARCHAR(10));
            END
        END
      SUSPEND;
    END
END ^

SET TERM ;^

次に Select 文を実行します。

Select * from FizzBuzz;

するとこうなります。

image.png

多分 Interbase でも同じコードで OK だと思います。

おわりに

ブラッシュアップしてくれると嬉しいな > Firebird の偉い人。
他の DB のストアドプロシージャではどうなるのかも知りたかったり...。

Firebird Advent Calendar 2017 が開催されていますので興味のあるかたはどうぞ!

See Also:

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1