简体   繁体   English

在SQL Server中执行存储过程?

[英]Executing a stored procedure in SQL Server?

ALTER PROCEDURE [dbo].[K_FS_GetDynamicdatatoTable] --'2014031711','1/15/2014 12:00:00 AM'
    @orderno varchar(50),
    @date datetime  
AS
BEGIN
  SET NOCOUNT ON;

  SELECT 
     FT.feedtype, BG.bagtype, OD1.noofbags, round(MR.rateperkg, 3) AS rateperkg     
  FROM
     K_FS_OrderDetails OD
  INNER JOIN
     K_FS_OrderDetails1 OD1 ON OD.sno = OD1.ID
  INNER JOIN
     K_FS_bagtype BG ON BG.sno = OD1.bagtype
  INNER JOIN 
     K_FS_FeedMrpDetails MR ON MR.feedtype = OD1.feedtype
  INNER JOIN
     k_FPS_FeedType FT ON FT.sno = MR.feedtype AND FT.sno = OD1.feedtype
  WHERE
     OD.orderno = @orderno AND MR.date = @date
END

in my procedure,without where condition execution successfully, and if I pass OD.Orderno then not a problem..But if i mention MR.date then No data found...In this what i mistake ? 在我的程序中,没有条件执行成功的地方,并且如果我通过OD.Orderno,那么就不成问题..但是,如果我提到MR.date,则找不到数据...这是我的错吗?

Here 这里

select * from K_FS_FeedMrpDetails where date = '2013-12-16 00:00:000'

'date' data also availble in my procedure,but data is not found...please help me? 我的程序中也有“日期”数据,但是找不到数据...请帮助我吗?

Try this 尝试这个

ALTER PROCEDURE [dbo].[K_FS_GetDynamicdatatoTable] --'2014031711','1/15/2014 12:00:00 AM'
@orderno varchar(50),
@date datetime  
AS
BEGIN

  SET NOCOUNT ON;
  select FT.feedtype,BG.bagtype,OD1.noofbags,round(MR.rateperkg,3)as rateperkg     
  from K_FS_OrderDetails OD
  Left join K_FS_OrderDetails1 OD1 on OD.sno=OD1.ID
  Left join K_FS_bagtype BG on BG.sno=OD1.bagtype
  Left join K_FS_FeedMrpDetails MR on MR.feedtype=OD1.feedtype
  Left join k_FPS_FeedType FT on FT.sno=MR.feedtype and FT.sno=OD1.feedtype
  where OD.orderno=@orderno and CONVERT(VARCHAR(10),MR.date,110)= CONVERT(VARCHAR(10),@date,110)

 END

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM