34,587
社区成员
发帖
与我相关
我的任务
分享
CREATE PROCEDURE USP_GETORDERS
(
@orderid INT =NULL,
@customerid NCHAR(5)=NULL,
@employeeid INT =NULL,
@orderdate DATETIME =NULL
)
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX),@PARAMS NVARCHAR(MAX)
SET @SQL=N'SELECT orderid,customerid,employeeid,orderdate'
+N' FROM Orders'
+N' WHERE 1=1'
+CASE WHEN @orderid IS NOT NULL THEN
N' AND orderid=@oid' ELSE N'' END
+CASE WHEN @customerid IS NOT NULL THEN
N' AND customerid=@custid' ELSE N'' END
+CASE WHEN @employeeid IS NOT NULL THEN
N' AND employeeid=@eid' ELSE N'' END
+CASE WHEN @orderdate IS NOT NULL THEN
N' AND orderdate=@od' ELSE N'' END
SET @PARAMS=N'@oid as int,@custid as nchar(5),@eid as int,@od as datetime'
EXEC sp_executesql @SQL,@PARAMS,@oid=@orderid,@custid=@customerid,@eid=@employeeid,@od=@orderdate
END
USP_GETORDERS 10248,NULL,NULL,NULL