除非我向该过程传递一个键,否则是否有其他方法可以使用存储过程获取表的所有行?
如果是这样,我如何在 SQL Server 中编写代码?
试试这个
CREATE PROCEDURE GetData(@key int = null)
BEGIN
SELECT * FROM Table WHERE (@Key Is NULL or id = @Key)
END
您还可以使用 COALESCE 运算符:
CREATE PROCEDURE dbo.uspMySprocName(@Key INT = NULL)
AS
BEGIN
SELECT * FROM MyTable WHERE ID = COALESCE(@Key, ID);
END
您可以使用 if 条件并进行 2 个查询
**syntax:**
if (@key is null ) then
begin
select * from table1 ;
end
else
being
select * from tabel1 where field1 = @key ;
end
endif
以下链接应该有所帮助