1
我在SQL Server 2008数据库上有一个存储过程。存储过程非常简单,只是一个SELECT语句。当我运行它时,它返回422行。但是,当我从存储过程运行SELECT语句时,它返回467行。我已经通过在同一个SSMS窗口中同时运行存储过程和SELECT语句来尝试这种方式,并且行为是相同的。存储过程是:存储过程和SELECT语句返回不同的结果
USE [REMS]
GO
/****** Object: StoredProcedure [mobile].[GetAllMobileDeviceUsers] Script Date: 12/04/2014 */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [mobile].[GetAllMobileDeviceUsers]
AS
SET NOCOUNT ON
SELECT
ee.EmployeeID,
EmployeeName = LastName + ', ' + FirstName
FROM EmployeeInvData ee
--UNION
--SELECT
--m.EmployeeID,
--EmployeeName = LastName + ', ' + FirstName
--FROM mobile.MiscPersonnel m
INNER JOIN Employee e
ON ee.EmployeeID = e.EmployeeID
UNION
SELECT
'-1',
'- Select An Employee -'
ORDER BY EmployeeName
当我这样做在同一个SSMS窗口:
exec mobile.GetAllMobileDeviceUsers
SELECT
ee.EmployeeID,
EmployeeName = LastName + ', ' + FirstName
FROM EmployeeInvData ee
--UNION
--SELECT
--m.EmployeeID,
--EmployeeName = LastName + ', ' + FirstName
--FROM mobile.MiscPersonnel m
INNER JOIN Employee e
ON ee.EmployeeID = e.EmployeeID
UNION
SELECT
'-1',
'- Select An Employee -'
ORDER BY EmployeeName
我得到两个结果集。首先是422行;第二是467行。为什么?
数据库/模式上下文?没有任何对象名称是合格的。 – 2014-12-04 16:54:56
戴夫,就是这样!我们有一个mobile.Employee表和一个dbo.Employee表。请给出答案,我会upvote你。非常感谢。我们三个人正盯着这个,我们没有看到它。 – Melanie 2014-12-04 17:01:34