---
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/zh/category/database-sql.md) | [data-integration](/blog/zh/category/data-integration.md)
# 数据库映射中的存储过程

为了满足用户需求，[MapForce 2013](http://https://www.altova.com/mapforce.html) 的新版本在 [数据库映射](https://www.altova.com/zh/mapforce/database-mapping.html) 中提供了强大的支持，具体包括：

- 输入组件（用于提供结果的存储过程）
- 输出组件（用于向数据库插入或更新数据的存储过程）
- 或者，存储过程可以作为类似函数的调用方式插入（允许用户提供输入数据，执行存储过程，并将输出数据读取/映射到其他组件）

以下截图展示了在 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作为输入参数提供。在这个例子中，员工ID在映射中被定义为一个常量，其值为67。您也可以以其他形式提供该参数，例如计算得出的值，或者从数据库的其他地方检索到的数据元素。

将存储过程映射时，一个问题是所需的结构信息只有在首次执行该存储过程时才会显示。MapForce 提供一个上下文菜单，允许您运行存储过程，从而显示其数据结构以及用于映射的各个数据类型：

![(图片已剪辑)](https://lh6.ggpht.com/-pNANqBxhUIA/UGHM_mOmLcI/AAAAAAAAA3w/bn95yIYAytw/clip_image002%25255B3%25255D.png?imgmax=800 "clip_image002")

上述映射中的“输出”组件是一个 XML 文档。执行该映射会生成以下结果：

![(图片已剪辑)](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/) 并且，示例文件展示了存储过程在数据库映射中的各种应用。

**亲自体验一下，将存储过程轻松融入到您自己的数据库映射项目中！** [下载免费的30天试用版](https://www.altova.com/zh/download/mapforce/data_mapping_enterprise.html) **MapForce 2013。**
