コメント
提供: InterBase
プロシージャとトリガ へ戻る
コメント構文により、プログラマはプロシージャおよびトリガのコード、または SQL スクリプトにコメントを追加することができます。
2 つの異なるタイプのコメントを使用することができます:
-
シンプルなコメント: 特殊なシンボルで始まり、改行で終わるコメント。
- メモ: シンプル コメント構文は、データベース エンジンのバージョン InterBase 2020 Update 4 以降でのみ利用可能です。
-- comment text
-
囲みコメント: 始まりと終わりが特殊なシンボルになっているコメント。複数行にすることができます。
/* comment text more comment text another line of comment text */
使用するコメントのタイプに関わらず、行内のどこからでもコメントは開始することができます。ただし、シンプル コメントの場合、コメントの領域は改行まで、という点は覚えておく必要があります。複数行のコメントにシンプル コメント構文を使用するには、各行を特殊シンボルで開始する必要があります。例:
-
複数行の囲みコメント:
/* my multi-line comment is this text */
-
複数行のシンプル コメント:
-- my multi-line -- comment is this -- text
コードと同じ行にコメントを配置することもできます。その場合、インライン コメントとなります。
プロシージャの入出力パラメータを、プロシージャの前のコメントに記載するには、良いプログラミングの習慣です。各変数の用途が分かるように、ローカル変数宣言にコメントをつけるのも便利です。
例
次の isql
サンプルでは、コメントの利用方法について示しています:
/*
* Procedure DELETE_EMPLOYEE : Delete an employee.
*
* Parameters:
* employee number
* Returns:
* --
*/
CREATE PROCEDURE DELETE_EMPLOYEE (EMP_NUM INTEGER)
AS
DECLARE VARIABLE ANY_SALES INTEGER; -- Number of sales for emp.
BEGIN
. . .
/* This script sets up Change Views Subscriptions
on the EMPLOYEE table.
*/
CONNECT "emp.ib" user 'SYSDBA' password 'masterkey';
COMMIT;
CREATE SUBSCRIPTION sub ON EMPLOYEE FOR ROW (INSERT, UPDATE, DELETE);
COMMIT;
-- Create a subscription on Employee table
CREATE SUBSCRIPTION sub1 ON EMPLOYEE FOR ROW (INSERT, UPDATE);
COMMIT;
- シンプル コメント - 別の SLC が続く場合
-- One more comment
CREATE SUBSCRIPTION sub2 ON EMPLOYEE FOR ROW (INSERT);
COMMIT;
- シンプル コメント - 前に空白がある別の SLC が続く場合
-- One more comment followed by leading whitespace before CREATE below
CREATE SUBSCRIPTION sub3 ON EMPLOYEE FOR ROW (INSERT, UPDATE, DELETE);
COMMIT;
SHOW SUBSCRIPTIONS;
SELECT COUNT(*)
-- inline comment 1
FROM RDB$DATABASE;
SELECT COUNT(*) -- inline comment 2
FROM RDB$DATABASE;
COMMIT;
SET TERM ^;
- インライン コメント付きのストアド プロシージャ作成行
CREATE PROCEDURE test_proc (
p1 INTEGER, -- Param 1
p2 VARCHAR(68) -- Param 2
)
RETURNS (op1 INTEGER) -- Output param
AS
declare variable v1 INTEGER;
declare variable v2 varchar(150); -- Variable 2
BEGIN
-- sample comment 1
-- sample comment 2
-- return input value multiplied by 10
v1 = p1 * 10;
op1 = v1;
SUSPEND;
END^
SET TERM ;^
COMMIT;
SHOW PROCEDURE test_proc;
SELECT op1 from test_proc (2, NULL);