热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SqlServer存储过程与普通语句查询

下面是我写的存储过程,结果是0,但是我直接拿出来写成普通的sql语句就有值想问问各位大神应该怎么写alterproc[dbo].[P_GetNumByCurrency_New]
下面是我写的存储过程,结果是0 ,但是我直接拿出来写成普通的sql语句就有值
想问问各位大神应该怎么写
alter proc [dbo].[P_GetNumByCurrency_New]                         
@BPConstructionProject_ID   nvarchar(max),             
@BeginTime nvarchar(60) ,          
@EndTime nvarchar(60) ,               
@SellProductMarkNo nvarchar(max) ,          
@PouringPlace nvarchar(max)                     
AS                        
BEGIN                                       
 declare @qxtable table(ID uniqueidentifier)                      
 insert into @qxtable                     
 SELECT                       
  distinct                       
  p1.BPConstructionProject_ID                  
 FROM BPConstructionProjectBCSite as p1                       
  inner join BOSplit(@BPConstructionProject_ID,';') pp5 on  p1.BCSite_ID=pp5.value     
        
  if (len(@SellProductMarkNo)=0 and len(@PouringPlace)=0)                 
  begin                                   
  SELECT              
    BOContract_Num=(        
   select  ISNULL(COUNT(*),0)     
   from(              
    select distinct ID from(        
     select distinct p1.ID    FROM BOContract AS P1        
     inner join BOOrder p2 on P1.ID=p2.BOContract_ID                     
     inner join BPConstructionProjectBCSite q4 on p1.BPConstructionProjectBCSite_ID=q4.id                      
     inner JOIN BPConstructionProject Q5 ON Q4.BPConstructionProject_ID=Q5.ID                            
     inner join @qxtable Q8 on Q5.ID=Q8.ID                      
     inner join BOContractStatus as p4 on P1.BOContractStatus_ID=p4.ID                          
        WHERE 1=1                                            
       and cast(LEFT(cast(p4.Sequence as nvarchar(3)),1) as int)>=1                     
       and cast(LEFT(cast(p4.Sequence as nvarchar(3)),1) as int)<=4            
       and p2.SetTime>=@BeginTime                       
       and p2.SetTime<=@EndTime             
       and p1.IsDelete=0 
   and p2.IsDelete=0     
    )A         
   )B               
  ),              
  BOOrder_Num=(              
   select isnull(COUNT(p4.ID),0) from BOContract p1              
   inner join BOOrder p4 on p1.ID=p4.BOContract_ID               
   inner join BPConstructionProjectBCSite p2 on p1.BPConstructionProjectBCSite_ID=p2.ID           
   inner join @qxtable p5 on p2.BPConstructionProject_ID=p5.ID               
   where 1=1               
    and p4.SetTime>=@BeginTime                       
    and p4.SetTime<=@EndTime             
    and p1.IsDelete=0                        
    and p4.IsDelete=0                
  )               
  end                   
-------------------------------------------
BOContract_Num     BOOrder_Num
     0                0
-------------------------------------------

图片select与上面的写法是一样的

5 个解决方案

#1


调试一下传过去的参数值都是多少,然后可以在ssms里边右键存储过程-执行过程,把参数填进去看一下

#2


引用 1 楼 sinat_28984567 的回复:
调试一下传过去的参数值都是多少,然后可以在ssms里边右键存储过程-执行过程,把参数填进去看一下

尝试了一下,结果都是0
但是我去掉存储过程就可以得出正确的结果

#3


在存储过程中间加上输出中间结果的 select 语句, 观察有什么不同

#4


莫名其妙,重新创建了一个存储过程又好了。。。。。

#5


引用 4 楼 baidu_41005040 的回复:
莫名其妙,重新创建了一个存储过程又好了。。。。。

应该是bug,我以前也遇到过类似的问题,程序调用过程没有返回数据,在ssms里面调用就有。后面刷新了一下存储过程,就正常了

推荐阅读
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 颜色迁移(reinhard VS welsh)
    不要谈什么天分,运气,你需要的是一个截稿日,以及一个不交稿就能打爆你狗头的人,然后你就会被自己的才华吓到。------ ... [详细]
  • SQL Server 2008 到底需要使用哪些端口?
    SQLServer2008到底需要使用哪些端口?-下面就来介绍下SQLServer2008中使用的端口有哪些:  首先,最常用最常见的就是1433端口。这个是数据库引擎的端口,如果 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • tcpdump 4.5.1 crash 深入分析
    tcpdump 4.5.1 crash 深入分析 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 基于词向量计算文本相似度1.测试数据:链接:https:pan.baidu.coms1fXJjcujAmAwTfsuTg2CbWA提取码:f4vx2.实验代码:imp ... [详细]
  • 【Python 爬虫】破解按照顺序点击验证码(非自动化浏览器)
    #请求到验证码base64编码json_img_datajson_raw.get(Vimage)#获取到验证码编码 #保存验证码图片到本地defbase64_to_img(bstr ... [详细]
  • 语义分割系列3SegNet(pytorch实现)
    SegNet手稿最早是在2015年12月投出,和FCN属于同时期作品。稍晚于FCN,既然属于后来者,又是与FCN同属于语义分割网络 ... [详细]
  • 动态多点××× 单云双HUB
    动态多点是一个高扩展的IPSEC解决方案传统的ipsecS2S有如下劣势1.中心站点配置量大,无论是采用经典ipsec***还是采用greoveripsec多一个分支 ... [详细]
author-avatar
serafina捡到一枚人鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有