我使用以下存储过程
CREATE PROCEDURE [dbo].[GetStates]
(
@p_StateId int = NULL
)
AS
SELECT
StateId AS CodeID,
StateName AS CodeName
FROM
States
WHERE
StateID = COALESCE(@p_StateID, StateID)
Run Code Online (Sandbox Code Playgroud)
如果@p_StateId为null,则返回所有行,否则返回单行(如果StateId匹配).
我的问题是,用SQL Server 2008做一个更优雅的方法来实现这个目的吗?