use Northwind
GO
/**
存储过程1
功能:
通过员工FirstName --> @inputEmpFirstName
获得 员工Id --> @outId
**/
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'p_getEmpleeIdByName' AND type = 'P')
DROP PROCEDURE p_getEmpleeIdByName
GO
create proc p_getEmpleeIdByName
@inputEmpFirstName varchar(50),
@outId int out
as
select @outId = employeeid from employees where FirstName =@inputEmpFirstName
/**
存储过程1
功能: 调用 p_getEmployee 存储过程 间接拿到EmployeeId
再获得用户信息
**/
IF EXISTS(SELECT name FROM sysobjects
WHERE name = 'p_getEmployeeInfo' AND type = 'P')
DROP PROCEDURE p_getEmployeeInfo
GO
create proc p_getEmployeeInfo
@inputEmpFirstName varchar(50)
as
declare @@myId int
exec p_getEmpleeIdByName @inputEmpFirstName,@@myId out -- 调用 -- 调用 p_getEmpleeIdByName 存储过程 间接拿到EmployeeId存储过程 间接拿到EmployeeId
select * from employees where employeeId = @@myId
GO
---- 应用
p_getEmployeeInfo 'Andrew'
GO
----注意 out 变量
/*********************/