Sql 除非我传递了一个键,否则显示表的所有记录
是否有其他方法可以使用存储过程获取表的所有行,除非我向该过程传递一个键 如果是这样,如何在SQL Server中编写代码?试试这个Sql 除非我传递了一个键,否则显示表的所有记录,sql,sql-server,Sql,Sql Server,是否有其他方法可以使用存储过程获取表的所有行,除非我向该过程传递一个键 如果是这样,如何在SQL Server中编写代码?试试这个 CREATE PROCEDURE GetData(@key int = null) BEGIN SELECT * FROM Table WHERE (@Key Is NULL or id = @Key) END 也可以使用“合并”操作符: CREATE PROCEDURE dbo.uspMySprocName(@Key INT = NULL) AS BEGIN
CREATE PROCEDURE GetData(@key int = null)
BEGIN
SELECT * FROM Table WHERE (@Key Is NULL or id = @Key)
END
也可以使用“合并”操作符:
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
下面的链接应该会有所帮助