CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

关于case用法问题

楼主kellybs(Java、.Net技术网:httP;//www.javavsnet.com)2005-08-02 21:26:09 在 MS-SQL Server / 基础类 提问

在关键字   'CASE'   附近有语法错误。  
  服务器:   消息   156,级别   15,状态   1,过程   cf_list_count_changshang,行   13  
  在关键字   'WHEN'   附近有语法错误。  
   
  create     PROCEDURE   cf_list_count_changshang  
  @types   int,  
  @allcount   int   output  
    AS  
   
   
   
   
   
  CASE   @types  
                    WHEN   1   THEN   select   @allcount=count(*)   from   tbl_car_manufacture   --厂商总数  
                    WHEN   2   THEN   select   @allcount=count(*)   from   tbl_car_manufacture   where   is_where=0   and   isdelete=0   --国内厂商  
                    WHEN   3   THEN   select   @allcount=count(*)   from   tbl_car_manufacture   where   is_where=1   and   isdelete=0   --国外厂商  
                    WHEN   4   THEN   select   @allcount=count(*)   from   tbl_car_manufacture   where     isdelete=0   --正常厂商  
                    WHEN   5   THEN   select   @allcount=count(*)   from   tbl_car_manufacture   where     isdelete<>0   --禁止厂商 问题点数:5、回复次数:4Top

1 楼zhilunchen(他山居士)回复于 2005-08-02 22:03:29 得分 1

不能这样用,只能用到select语句中Top

2 楼kellybs(Java、.Net技术网:httP;//www.javavsnet.com)回复于 2005-08-02 22:14:34 得分 0

那该如何写?Top

3 楼vivianfdlpw()回复于 2005-08-02 22:25:53 得分 4

create     PROCEDURE   cf_list_count_changshang  
  @types   int,  
  @allcount   int   output  
    AS  
  declare   @sql   nvarchar(300)  
  set   @sql=N'select   @allcount=count(*)   from   '  
   
  select   @sql=@sql+   CASE   @types  
                                      WHEN   1   THEN   N'tbl_car_manufacture'   --厂商总数  
                                      WHEN   2   THEN   N'tbl_car_manufacture   where   is_where=0   and   isdelete=0'   --国内厂商  
                                      WHEN   3   THEN   N'tbl_car_manufacture   where   is_where=1   and   isdelete=0'   --国外厂商  
                                      WHEN   4   THEN   N'tbl_car_manufacture   where     isdelete=0'   --正常厂商  
                                      WHEN   5   THEN   N'tbl_car_manufacture   where     isdelete<>0'   --禁止厂商  
                                      END  
  exec   sp_executesql   @sql,N'@allcount   int   output',@allcount   output  
  goTop

4 楼zhilunchen(他山居士)回复于 2005-08-06 01:47:45 得分 0

真是菜鸟Top

相关问题

  • Case...of的用法出错
  • 关于CASE的用法?
  • 急!JSP中的case用法
  • 关于CASE的用法
  • case语句的用法
  • 有关DELPHI中CASE语句的用法。
  • 问个ASP中SELECT CASE R 的用法?
  • &*用法~~
  • 请问关于Informix中的case子句的用法。
  • 请问有关了JSP中switch case中的一些用法

关键词

  • sql
  • allcount
  • isdelete
  • tbl
  • manufacture
  • 厂商
  • car
  • changshang
  • count
  • where

得分解答快速导航

  • 帖主:kellybs
  • zhilunchen
  • vivianfdlpw

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo