如何从存储过程中获取最高值
How to Get Top Value from a Stored Procedure
有没有办法从存储过程中获取第一行?
SQL 服务器存储过程
EXEC SelectedJobTypeList
┌─────────────┬──────────────┐
│ JobTypeCode | JobTypeName |
├─────────────┼──────────────┤
│ | Select All |
├─────────────┼──────────────┤
│ A1 | Road work |
├─────────────┼──────────────┤
│ B1 | Design |
├─────────────┼──────────────┤
│ C1 | Build |
└─────────────┴──────────────┘
预期结果
┌─────────────┬──────────────┐
│ JobTypeCode | JobTypeName |
├─────────────┼──────────────┤
│ | Select All |
└─────────────┴──────────────┘
您的示例可能过于简单化,因为似乎没有必要调用 SP 只是为了返回“Select 全部”。但是,假设您确实需要在您的案例中调用 SP,如果您将结果捕获到临时 table 然后 select 您感兴趣的行中,您将拥有更多的控制权。虽然您可以使用 TOP 1
如果您有办法 select 特定行,您将拥有更强大的解决方案。
这是一个例子
-- Ensure these datatypes exactly match the data being returned by your SP
CREATE TABLE #tempJobTypeList (JobTypeCode VARCHAR(2), JobTypeName VARCHAR(32));
INSERT INTO #tempJobTypeList (JobTypeCode, JobTypeName)
EXEC SelectedJobTypeList;
SELECT JobTypeCode, JobTypeName
FROM #tempJobTypeList
WHERE JobTypeName = '';
DROP TABLE #tempJobTypeList;
有没有办法从存储过程中获取第一行?
SQL 服务器存储过程
EXEC SelectedJobTypeList
┌─────────────┬──────────────┐
│ JobTypeCode | JobTypeName |
├─────────────┼──────────────┤
│ | Select All |
├─────────────┼──────────────┤
│ A1 | Road work |
├─────────────┼──────────────┤
│ B1 | Design |
├─────────────┼──────────────┤
│ C1 | Build |
└─────────────┴──────────────┘
预期结果
┌─────────────┬──────────────┐
│ JobTypeCode | JobTypeName |
├─────────────┼──────────────┤
│ | Select All |
└─────────────┴──────────────┘
您的示例可能过于简单化,因为似乎没有必要调用 SP 只是为了返回“Select 全部”。但是,假设您确实需要在您的案例中调用 SP,如果您将结果捕获到临时 table 然后 select 您感兴趣的行中,您将拥有更多的控制权。虽然您可以使用 TOP 1
如果您有办法 select 特定行,您将拥有更强大的解决方案。
这是一个例子
-- Ensure these datatypes exactly match the data being returned by your SP
CREATE TABLE #tempJobTypeList (JobTypeCode VARCHAR(2), JobTypeName VARCHAR(32));
INSERT INTO #tempJobTypeList (JobTypeCode, JobTypeName)
EXEC SelectedJobTypeList;
SELECT JobTypeCode, JobTypeName
FROM #tempJobTypeList
WHERE JobTypeName = '';
DROP TABLE #tempJobTypeList;