问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么查询sql 存储过程里面的数据

发布网友 发布时间:2022-04-24 01:45

我来回答

2个回答

懂视网 时间:2022-05-03 07:31

 

--1、查看所有存储过程与函数 
     exec sp_stored_procedures 
    或者 
     select * from dbo.sysobjects where OBJECTPROPERTY(id, N‘IsProcedure‘) = 1 order by name 
--2、查看存储过程的内容    
   select text from syscomments where id=object_id(‘存储过程名称‘) 
   -- 或者用 
   sp_helptext  存储过程名称

--3、查看存储过程的参数情况 
   select ‘参数名称‘ = name, 
         ‘类型‘ = type_name(xusertype), 
         ‘长度‘ = length,    
         ‘参数顺序‘ = colid, 
         ‘排序方式‘ = collation 
   from    syscolumns 
   where   id=object_id(‘存储过程名称‘)

   --或者

   --查看存储过程参数信息:   
--如果返回值>1,则有参数。否则无   
CREATE   PROC sp_PROC_Params 
       @procedure_name sysname  ,  --存储过程或者用户定义函数名   
       @group_number int=1     ,   --存储过程的组号,必须在0到32767之间,0表示显示该存储过程组的所有参数   
       @operator nchar(2)=N‘=‘     --查找对象的运算符   
AS 
SET   NOCOUNT ON   
DECLARE @SQL nvarchar(4000)   
SET @SQL=N‘SELECT   
  PorcedureName=CASE     
  WHEN   o.xtype   IN(‘‘P‘‘,‘‘X‘‘)   
  THEN   QUOTENAME(o.name)+N‘‘;‘‘+CAST(c.number   as   varchar)   
  WHEN   USER_NAME(o.uid)=‘‘system_function_schema‘‘   
  AND   o.xtype=‘‘FN‘‘   
  THEN   o.name   
  WHEN     USER_NAME(o.uid)=‘‘system_function_schema‘‘   
  THEN   ‘‘::‘‘+o.name   
  WHEN   o.xtype=‘‘FN‘‘   
  THEN   QUOTENAME(USER_NAME(o.uid))+N‘‘.‘‘+QUOTENAME(o.name)   
  ELSE   QUOTENAME(o.name)   END,   
  Owner=USER_NAME(o.uid),   
  GroupNumber=c.number,   
  ParamId=c.colid,   
  ParamName=CASE     
  WHEN   o.xtype=‘‘FN‘‘   AND   c.colid=0   THEN   ‘‘<Returns>‘‘   
  ELSE   c.name   END,   
  Type=QUOTENAME(t.name)+CASE     
  WHEN   t.name   IN   (‘‘decimal‘‘,‘‘numeric‘‘)   
  THEN   N‘‘(‘‘+CAST(c.prec   as   varchar)+N‘‘,‘‘+CAST(c.scale   as   varchar)+N‘‘)‘‘   
  WHEN   t.name=N‘‘float‘‘   
  OR   t.name   like   ‘‘%char‘‘   
  OR   t.name   like   ‘‘%binary‘‘   
  THEN   N‘‘(‘‘+CAST(c.prec   as   varchar)+N‘‘)‘‘   
  ELSE   ‘‘‘‘   END,   
  Orientation=CASE     
  WHEN   o.xtype=‘‘FN‘‘   AND   c.colid=0   THEN   ‘‘<Returns>‘‘   
  ELSE   N‘‘Input‘‘   
  +CASE   WHEN   c.isoutparam=1   THEN   ‘‘/Output‘‘   ELSE   ‘‘‘‘   END   
  END   
  FROM   sysobjects   o,syscolumns   c,systypes   t   
  WHERE   o.id=c.id   
  AND   c.xusertype=t.xusertype   
  AND   o.name‘ 
    +CASE WHEN @operator IN (‘=‘,‘>‘,‘>=‘,‘!>‘,‘<‘,‘<=‘,‘!<‘,‘<>‘,‘!=‘) 
          THEN @operator+QUOTENAME(@procedure_name,‘‘‘‘) 
          WHEN @operator=‘IN‘ 
          THEN @operator+N‘   IN(‘+QUOTENAME(@procedure_name,‘‘‘‘)+‘)‘ 
          WHEN @operator IN (‘LIKE‘,‘%‘) 
          THEN ‘   LIKE   ‘+QUOTENAME(@procedure_name,‘‘‘‘) 
          ELSE ‘=‘+QUOTENAME(@procedure_name,‘‘‘‘) 
     END+N‘     
  AND((‘+CASE WHEN @group_number BETWEEN 1 AND 32767 
              THEN N‘c.number=‘+CAST(@group_number as varchar) 
              WHEN @group_number=0 THEN N‘1=1‘ 
              ELSE N‘c.number=1‘ 
         END+N‘   AND   o.xtype   IN(‘‘P‘‘,‘‘X‘‘))     
  OR   (c.number=0   AND   o.xtype=‘‘FN‘‘)   
  OR   (c.number=1   AND   o.xtype   IN(‘‘IF‘‘,‘‘TF‘‘)))‘   
EXEC sp_executesql @SQL  

--4、查看所有存储过程内容 
   select   b.name   ,a.text   from   syscomments   a,sysobjects   b   where   object_id(b.name)=a.id   and   b.xtype   in(‘P‘,‘TR‘) 

--5、查看包含字符串内容的存储过程 

select   b.name   ,a.text   from   syscomments   a,sysobjects   b 
where 
charindex(‘字符串内容‘,a.text)>0    and 
object_id(b.name)=a.id   and   b.xtype   in(‘P‘,‘TR‘)

SQL存储过程相关信息查看

标签:object   查看   user   declare   ima   where   对象   方式   type   

热心网友 时间:2022-05-03 04:39

怎么查询sql 存储过程里面的数据
有时候你没有办法使用图形界面的管理器连接SQL 服务器,这个时候如果你想查看一个存
储过程的内容就只能依靠SQL 语句了。
系统提供了一个存储过程可以查看 rule,stored procere, user-defined function,
trigger, 或者 view。Syntaxsp_helptext @objname = 'name'
sp_helptext '存储过程名称'
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
tplink无线扩展器怎样重置密码 扩展器原始的密码是什么 如何重新设置TPLink扩展器的密码简单步骤教你修改TPLink扩展器的... 为什么要加入tcpip协议 父母如何给孩子做一个好榜样 父母应该如何做孩子的榜样? 冬季草原防火安全知识 冬季景区该如何预防火灾 厨房暗管漏水 多少钱 手脚出汗,睡眠不好,早泄是阳虚还是阴虚 如何查询所有的存储过程 怎样查找数据库中的所有存储过程 sql存储过程查询其他数据库数据 怎么查询数据库中的存储过程中的数据 如何当场识别正品金士顿U盘? 怎么查看一个存储过程的SQL语句 正品金士顿的U盘的芯片是否是TOSHIBA(东芝)生产的? 存储过程里面怎么查询 我在天猫上买了一个假冒移动硬盘和优盘,想知道怎么维权? 新买了一个8G的金士顿U盘,如何来辨别U盘的真假呢? 这个东芝u盘什么数字是什么啊,求大神解释 东芝U盘是不是正品? 求鉴定这个U盘是不是正品,金士顿的U盘为什么是东芝的闪存颗粒?ChipGenius检测如图 东芝U盘验证码1327DB1396L2UMK,16G的, 这个东芝U盘是真的吗? 东芝u盘包装盒上没贴有防伪标签是假的吗 东芝硬盘防伪查询网站是什么 怎样进行东芝移动硬盘真伪查询 河宽200米,水速V水等于2米每秒,船速V船等于4米每秒, 求小船如何渡河时间最短,最短 怎么让君子兰叶子长得宽又短? 存储过程 查询 怎么用存储过程查询其他数据库的数据 Oracle 如何通过表查询存储过程名 如何查询存储过程开始执行时间和结束时间 sql server 2008,如何查看存储过程里面的内容? 如何:使用存储过程执行查询(实体框架) 知道存储过程名怎么查看存储过程代码 如何查询oracle库中已经存在的存储过程 桌有几画 同桌画多少? 能、桌、味、买、具、甘、甜、菜、劳的笔顺和共有几画 请问谁知道桌子共多少笔画啊 桌除了部首查几画? 友情和爱情的区别是什么? 为什么我的苹果手机控制中心没有音乐识别? 桌子的桌部首是什么除去部首有几画 苹果手机的文件管理怎么没有音乐 桌是多音字吗? 想要区分两个人的关系是友情还是爱情,应该如何区分呢? 桌是什么偏旁