16.20 - ホスト構造 - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL ストアド プロシージャおよび埋め込みSQL

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1148-162K-JPN

定義

ホスト構造とは、使用している埋め込みSQLアプリケーションのホスト言語のSQLの外部で宣言された、ホスト変数の配列です。

例: 従業員の民族性デモグラフィックに関するレポートの作成

以下の、埋め込みSQL SELECT文がCOBOLアプリケーション用に作成されている場合を考慮してみましょう。この文の目的は、会社によって雇用されている最初の100人の従業員の人種統計のレポートを作成することです。

EXEC SQL
 SELECT EmpNo, LastName, Ethnicity, BirthDate, SSN, DeptNo
 INTO :EmpNo, :LastName, :Ethnicity, :BirthDate, :SSN, :DeptNo
 FROM Employee
 WHERE EmpNo < ‘100’
END-EXEC

6 ホスト変数の名前を入力するのではなく配列内の個々 の要素として :EmpNo:LastName:Ethnicity:BirthDate:SSN、および:DeptNo が含まれている名前付き構造を作成でき、個々 のホスト変数のクエリでその名に置換されます。

同じの COBOL の例は、次のようにして書き換えることができます、ホスト変数 :EmpNo:LastName:Ethnicity:BirthDate:SSN、および:DeptNoを含む :FounderEmployeeInfo がホスト構造体の名前。

EXEC SQL
 SELECT EmpNo, LastName, Ethnicity, BirthDate, SSN, DeptNo
 INTO :FounderEmployeeInfo
 FROM Employee
 WHERE EmpNo < ‘100’
END-EXEC

ホスト構造はANSIセッション モードではサポートされない

ANSIセッション モードでは配列をサポートしません。したがって、ホスト構造も、修飾されたホスト変数もサポートされません。

ホスト構造はTeradataセッション モードではサポートされる

Teradataセッション モードは、IBM形式のホスト構造を最大2レベルまでサポートします。

Teradataセッション モードは、ホスト構造内のフィールドを参照する、修飾されたホスト変数もサポートします。

埋め込みSQL文内の完全修飾されたホスト変数参照は、完全修飾されたSQL列参照と同じ方法で表現されます。つまり、FULLSTOP文字によって異なるレベルの修飾が区切られます。

この構文は、サポートされるすべてのホスト言語で有効です。

この例では、要点を説明するためにCOBOLを使用して、:SHIPMENT-RECORD.WEIGHTを完全修飾ホスト変数として使用しています。

ADD 5 TO WEIGHT OF SHIPMENT-RECORD. 
EXEC SQL
 DELETE FROM SHIPMENT_TABLE
 WHERE WEIGHT > :SHIPMENT-RECORD.WEIGHT
END-EXEC.