はじめに
これは 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;
するとこうなります。
多分 Interbase でも同じコードで OK だと思います。
おわりに
ブラッシュアップしてくれると嬉しいな > Firebird の偉い人。
他の DB のストアドプロシージャではどうなるのかも知りたかったり...。
Firebird Advent Calendar 2017 が開催されていますので興味のあるかたはどうぞ!
See Also: