存储过程是存储在数据库中的可执行对象。 SQL Server 支持:
存储过程:
预编译到单个可执行过程中的一个或多个 SQL 语句。
扩展存储过程:
为扩展存储过程写入 SQL Server Open Data Services API 的 C 或C++动态链接库(DLL)。 Open Data Services API 扩展存储过程的功能,以包括 C 或C++代码。
执行语句时,对数据源调用存储过程(而不是直接执行或准备客户端应用程序中的语句)可以提供:
提高性能
创建过程时,将分析和编译 SQL 语句。 然后,在执行过程时会保存此开销。
降低网络开销
执行过程而不是通过网络发送复杂的查询可以减少网络流量。 如果 ODBC 应用程序使用 ODBC { CALL } 语法执行存储过程,ODBC 驱动程序会进行其他优化,而无需转换参数数据。
更高的一致性
如果在中心资源(如存储过程)中实现组织的规则,则可以对其进行编码、测试和调试一次。 然后,单个程序员可以使用经过测试的存储过程,而不是开发自己的实现。
更高的准确性
由于存储过程通常由经验丰富的程序员开发,因此它们往往更高效,并且比不同技能级别的程序员多次开发的代码少。
添加的功能
扩展存储过程可以使用 Transact-SQL 语句中不可用的 C 和C++功能。
有关如何调用存储过程的示例,请参阅进程返回代码和输出参数 (ODBC)。