create PROCEDURE USP_GetDetail(@ObjectName nvarchar(50))
as 
Begin 
    declare @type varchar(10)
    select @type=[type] from sys.objects with(nolock) where name=@ObjectName
    
    case @type
    WHEN 'U' THEN
        exec('select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)') 
        exec('select top 100 * from ' + @ObjectName + ' with(nolock)') 
    WHEN 'P' THEN
        exec('sp_helptext '+ @ObjectName)
    WHEN 'FN' THEN
        exec('sp_helptext '+ @ObjectName)
    else
        select '不明对象,不能取出对应信息.' as ErrorMessage
    End    
End 

提示错误如下:

正确写法如下:

看看你知道问题错在哪里没有

create PROCEDURE USP_GetDetail(@ObjectName nvarchar(50))
as 
Begin 
    declare @type varchar(10)
    select @type=[type] from sys.objects with(nolock) where name=@ObjectName
    declare @str nvarchar(100)
    
    select @str = case @type
    WHEN 'U' THEN 
        'select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)' + ' ' 
                        + 'select top 100 * from ' + @ObjectName + ' with(nolock)'
    WHEN 'P' THEN
        'sp_helptext '+ @ObjectName
    WHEN 'FN' THEN
        'sp_helptext '+ @ObjectName
    else
        'select '+ '''不明对象,不能取出对应信息.''' + ' as ErrorMessage'
    End         exec(@str)
End 

Stored Procedures CASE 用法错误的更多相关文章

  1. Home / Python MySQL Tutorial / Calling MySQL Stored Procedures in Python Calling MySQL Stored Procedures in Python

    f you are not familiar with MySQL stored procedures or want to review it as a refresher, you can fol ...

  2. sql case 用法总结

    快下班了,抽点时间总结一下sql 的 case 用法. sql 里的case的作用: 用于计算条件列表的表达式,并返回可能的结果之一.sql 的case 类型于编程语言里的 if-esle if-el ...

  3. [MySQL] Stored Procedures 【转载】

    Stored routines (procedures and functions) can be particularly useful in certain situations: When mu ...

  4. Good Practices to Write Stored Procedures in SQL Server

    Reference to: http://www.c-sharpcorner.com/UploadFile/skumaar_mca/good-practices-to-write-the-stored ...

  5. An Introduction to Stored Procedures in MySQL 5

    https://code.tutsplus.com/articles/an-introduction-to-stored-procedures-in-mysql-5--net-17843 MySQL ...

  6. Cursors in MySQL Stored Procedures

    https://www.sitepoint.com/cursors-mysql-stored-procedures/ After my previous article on Stored Proce ...

  7. MySQL Error Handling in Stored Procedures 2

    Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered ...

  8. [转]How to: Execute Oracle Stored Procedures Returning RefCursors

    本文转自:http://www.telerik.com/help/openaccess-orm/openaccess-tasks-oracle-execute-sp-result-set.html I ...

  9. SQL进阶随笔--case用法(一)

    SQL进阶一整个是根据我看了pdf版本的整理以及自己的见解整理.后期也方便我自己查看和复习. CASE 表达式 CASE 表达式是从 SQL-92 标准开始被引入的.可能因为它是相对较新的技术,所以尽 ...

随机推荐

  1. 【转】php和java之间rsa加密互通

    以下是php封装好的类,引入即可使用 <?php /** * 作者:pjp * 邮箱:vippjp@163.com */ class RSA{ private $privateKey='';// ...

  2. 【BZOJ3630】[JLOI2014]镜面通道 几何+最小割

    [BZOJ3630][JLOI2014]镜面通道 Description 在一个二维平面上,有一个镜面通道,由镜面AC,BD组成,AC,BD长度相等,且都平行于x轴,B位于(0,0).通道中有n个外表 ...

  3. EasyPlayerPro Windows播放器本地快照抓拍截图功能实现方法

    背景描述 作为一个播放器,截图功能必不可少; 下面主要记录一下截图功能的实现: 实现流程 将解码后的帧进行格式转换(目标格式为RGB24); 采用独立的线程进行截图处理; 截图可保存为BMP或JPG两 ...

  4. 九度OJ 1055:数组逆置 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:7324 解决:3429 题目描述: 输入一个字符串,长度小于等于200,然后将数组逆置输出. 输入: 测试数据有多组,每组输入一个字符串. ...

  5. 九度OJ 1014:排名 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8267 解决:2469 题目描述:     今天的上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑每题的分 ...

  6. HTML 学习笔记 JQueryUI(Interactions,Widgets)

    Draggable 允许使用鼠标移动元素(拖动) demo <html>    <head>        <meta charset="UTF-8" ...

  7. mysql一:操作数据库

    创建数据库是指在数据库空间中划出一块空间用来存储相关的数据,表就是存储在对应的数据库里面.首先来看下查看数据库的命令:show databases. 这个是用来查询数据库空间下所有的数据库,其中inf ...

  8. Java基础:hashCode与equals个人学习记录

    摘要: 本文主要记录本人对hashCode和对equals两个知识点的学习过程. 从学生时期初学java,就知道hashCode和equals这两个方法,工作中equals方法使用也是特别频繁,要说e ...

  9. 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】

    本文转载自:http://blog.csdn.net/mwj19890829/article/details/18751447 关于Android定位方式 android 定位一般有四种方法,这四种方 ...

  10. HDU3811 Permutation —— 状压DP

    题目链接:https://vjudge.net/problem/HDU-3811 Permutation Time Limit: 6000/3000 MS (Java/Others)    Memor ...