Edited at
FizzBuzzDay 13

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

More than 1 year has passed since last update.


はじめに

これは 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: