---
title: "データベースマッピングにおけるストアドプロシージャ"
date: "2012-09-25"
categories: 
  - "applications"
  - "data-integration"
tags: 
  - "data-mapping"
  - "mapforce"
  - "v2013"
description: MapForce 2013の新しい機能を活用して、データベースのマッピングにおけるストアドプロシージャの統合、データ管理の強化、そして複雑な作業の簡素化を実現しましょう。
---
Status: #blog

Tags:  #data-mapping #mapforce #v2013

Categories: [database + sql](/blog/ja/category/database-sql.md) | [data-integration](/blog/ja/category/data-integration.md)
# データベースマッピングにおけるストアドプロシージャ

ユーザーからの要望を受け、新バージョンでは、 [MapForce 2013](http://https://www.altova.com/mapforce.html) には、ストアドプロシージャに対する強力なサポートが組み込まれています [データベースのマッピング](https://www.altova.com/ja/mapforce/database-mapping.html) as:

- 入力コンポーネント（結果を提供するストアドプロシージャで使用されます）
- 出力コンポーネント（データベースにデータを挿入または更新するストアドプロシージャで使用されるもの）
- または、ストアドプロシージャを関数のように呼び出すことも可能です（これにより、ユーザーは入力データを指定し、ストアドプロシージャを実行し、出力データを読み取って他のコンポーネントにマッピングすることができます）

以下に示されたスクリーンショットは、SQL Serverにおいて、XMLファイルを生成するために使用されるストアドプロシージャのマッピングを示しています。

![MapForceにおけるデータベースマッピングで、ストアドプロシージャを使用する構成](https://lh6.ggpht.com/-5ahz8cN1miI/UGHM_MCMBdI/AAAAAAAAA3o/j1JzMZbUbcQ/clip_image001%25255B3%25255D.png?imgmax=800 "A MapForce database mapping with a stored procedure")

<!--more-->

ストアドプロシージャは、データベースサーバー上でホストされ実行されるプログラムであり、クライアントアプリケーションから呼び出すことができます。通常、これらのプログラムはSQLで記述されますが、一部のデータベースでは、Java、Visual Basic、またはその他の言語で記述されたルーチンも呼び出すことができます。ストアドプロシージャは、データの取得、新しいデータの挿入、データベーステーブルの更新といった単純な操作を実行したり、複雑なデータベース管理タスクを実行したりすることができます。ストアドプロシージャのサポートは、データベースベンダーによって異なります。

データベースの設計者は、データベース内にビジネスロジックを実装する際に、ストアドプロシージャをよく利用します。これにより、データ管理が簡素化され、特に要件が時間とともに変化する場合にその効果を発揮します。

ストアドプロシージャは、多くの場合、入力パラメータを必要とします。MapForceでは、マッピングの実行時に必要な、すべてのストアドプロシージャの入力パラメータに対して、値を設定することができます。

上記のデータベースマッピングの中心となる処理は、入力パラメータとして指定された従業員IDの上位にある組織構造内のすべての管理者を一覧表示するデータテーブルを返します。この例では、従業員IDはマッピング内で定数として67と定義されています。また、このパラメータは、計算された値や、データベース内の別の場所から取得したデータ要素など、別の形式で指定することも可能です。

格納プロシージャのマッピングにおける課題の一つは、必要なデータ構造が、プロシージャが初めて実行されるまでマッピング画面に表示されないことです。MapForceでは、コンテキストメニューを提供しており、これを使用することで格納プロシージャを実行し、データ構造と個々のデータ型を表示させ、マッピングを行うことができます

![(画像は添付されていません。テキストのみの翻訳です。)](https://lh6.ggpht.com/-pNANqBxhUIA/UGHM_mOmLcI/AAAAAAAAA3w/bn95yIYAytw/clip_image002%25255B3%25255D.png?imgmax=800 "clip_image002")

上記のマッピングにおける「出力」コンポーネントは、XMLドキュメントです。このマッピングを実行すると、以下の結果が生成されます

![(画像ファイル名: clip_image003)](https://lh4.ggpht.com/-iggBnMi8b9k/UGHNAJveb9I/AAAAAAAAA34/xXEDMozcoyg/clip_image003%25255B3%25255D.png?imgmax=800 "clip_image003")

その [MapForce統合ヘルプシステム](http://manual.altova.com/Mapforce/mapforce-enterprise/) そして、サンプルファイルには、データベースのマッピングにおけるストアドプロシージャの様々な活用方法が示されています。

**ご自身で、保存プロシージャをデータベースのマッピングプロジェクトに組み込むのがどれほど簡単か、ぜひ体験してみてください！** [MapForce 2013の無料30日間トライアル版をダウンロード](https://www.altova.com/ja/download/mapforce/data_mapping_enterprise.html) **して、その使いやすさを実感してください。**
