コメント

提供: InterBase
移動先: 案内検索

プロシージャとトリガ へ戻る


コメント構文により、プログラマはプロシージャおよびトリガのコード、または SQL スクリプトにコメントを追加することができます。 2 つの異なるタイプのコメントを使用することができます:

  1. シンプルなコメント: 特殊なシンボルで始まり、改行で終わるコメント。
    メモ: シンプル コメント構文は、データベース エンジンのバージョン InterBase 2020 以降でのみ利用可能です。
    -- comment text
    
  2. 囲みコメント: 始まりと終わりが特殊なシンボルになっているコメント。複数行にすることができます。
    /* 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);



次は: