在 C 及 C++ 內嵌式 SQL 應用程式中宣告主變數的區段

您必須使用 SQL 宣告區段來識別主變數宣告。 SQL 宣告區段會將前置編譯器警示為可在後續 SQL 陳述式中參照的任何主變數。
例如:
   EXEC SQL BEGIN DECLARE SECTION; 
     char  varsql;     /* allowed */ 
   EXEC SQL END DECLARE SECTION; 

C 或 C++ 前置編譯器只會將有效 C 或 C++ 宣告的子集辨識為有效的主變數宣告。 這些宣告定義數值或字元變數。 主變數可以分組成單一主機結構。 您可以將 C++ 類別資料成員宣告為主變數。

數值主變數可以作為任何數值 SQL 輸入或輸出值的輸入或輸出變數。 字元主變數可用作任何字元、日期、時間或時間戳記 SQL 輸入或輸出值的輸入或輸出變數。 應用程式必須確保輸出變數的長度足以包含它們所接收的值。

您可以在 SQL 宣告區段內定義、命名及使用主變數。 在下列範例中,會先定義稱為 staff_record 的結構類型。 然後將名為 staff_detail 的變數宣告為 staff_record 類型:
EXEC SQL BEGIN DECLARE SECTION ;

typedef struct {
	short id;
	VARCHAR name[10+1]; 
	short years; 
	double salary; 
} staff_record;

staff_record staff_detail;

EXEC SQL END DECLARE SECTION ;
...
SELECT id, name, years, salary 
	FROM staff 
	INTO :staff_detail 
	WHERE id = 10;
...