Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

DTL <sql>

データ変換内で、埋め込みの SQL SELECT 文を実行します。

Synopsis

<sql>   SELECT SSN INTO :context.SSN   FROM MyApp.PatientTable   WHERE PatID = :request.PatID  </sql>

要素

要素 目的
<annotation> オプション。<sql> 要素について記述するテキスト文字列。

説明

DTL <sql> 要素は、DTL <transform> 要素内から任意の埋め込み SQL SELECT 文を実行します。

<sql> 要素を効率的に使用するため、以下のヒントを参考にしてください。

  • 次のように、必ず、SQL スキーマ名とテーブル名の両方を含むテーブルの完全修飾名を使用します。

    MyApp.PatientTable

    上記の例の MyApp は SQL スキーマ名、PatientTable はテーブル名です。

  • <sql> 要素の内容には、有効な埋め込み SQL SELECT 文が含まれている必要があります。

    SQL クエリを CDATA ブロック内に配置すれば、特殊な XML 文字のエスケープに影響されることはありません。

  • SQL クエリの FROM 節にリストされるテーブルは、ローカルの Ensemble データベースに格納されているか、SQL ゲートウェイを使用して外部リレーショナル・データベースにリンクされている必要があります。

  • SQL クエリの INTO 節および WHERE 節内では、1 つの変数名の前にコロン (:) を付けることにより、ソース・オブジェクトまたはターゲット・オブジェクトのプロパティを参照できます。以下に例を示します。

    <sql>
      SELECT Name INTO :target.Name
      FROM MainFrame.EmployeeRecord
      WHERE SSN = :source.SSN AND City = :source.Home.City
    
    </sql>
  • 使用されるのは、クエリで返された最初の行のみです。WHERE 節では、必要な行を正確に指定してください。

FeedbackOpens in a new tab