存储过程和调用者之间通过参数交换数据,可以按输入的参数执行,也可由参数输出执行结果。调用者通过存储过程返回的状态值对存储过程进行管理。
1.参数
存储过程的参数在创建过程时声明。SQL Server支持两类参数:输入参数和输出参数。
1)输入参数
输入参数允许调用程序为存储过程传送数据值。要定义存储过程的输入参数,必须在CREATE PROCEDURE语句中声明一个或多个变量及类型。
举例:创建带参数的存储过程,从表employee、sell_order、goods、goods_classification的连接中返回输入的员工名、该员工销售的商品名、商品类别、销售量登信息。
CREATE PROC sell_info @employee_name varchar(20) AS
SELECT employee_name,goods_name,classification_name,order_num
FROM employee e INNER JOIN sell_order s ON e.employee_id=g.classification_id
WHERE employee_name LIKE @employee_name
存储过程sell_info以@employee_name变量作为输入参数,执行时,可以省略参数名,直接给参数值。在SQL查询分析其中输入命令:
EXEC sell_info‘东方木’
运行结果如下图所示:
employee_name | goods_n |