sql server 2008,如何查看存储过程里面的内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2008,如何查看存储过程里面的内容?相关的知识,希望对你有一定的参考价值。

参考技术A

    1 打开Microsoft  SQL Server数据库管理工具,选择SQL Server身份验证,输入登录名和用户密码,点击连接按钮。

    2 选择要查看的数据库,展开所有选项。

    3 在展开的所有列表中,选择‘可编程性’文件夹,并将其展开。

    4 在‘可编程性’文件夹里,选择‘存储过程’并单击其前面的‘+’号,让其展开。下拉列表里会显示系统和用户的所有存储过程。

    5 选择要查看的存储过程,依次选择:‘编写存储过程脚本为’--->‘Alter到’--->‘新的查询编辑器窗口’。可以修改存储过程。

    6 存储过程的代码会显示在右边,可以对代码进行修改,保存后执行成功。

???Sql Server???SQL SERVER ????????????

?????????int   with   ??????   serve   span   ??????   inner   --   blog   

??????:???Sql Server???SQL SERVER ????????????

??????SQL SERVER 2005?????????????????????????????????????????????SQL SERVER 2005???????????????CTE?????????????????????CTE?????????????????????

??????CTE??????????????????Common Table Expression ???SQL SERVER 2005????????????????????????????????????

#??????????????????

1???sql

 1 Create table GroupInfo([Id] int,[GroupName] nvarchar(50),[ParentGroupId] int)
 2 
 3 Insert GroupInfo
 4 
 5 select 0,??????????????????,null union all
 6 
 7 select 1,??????????????????,0 union all
 8 select 2,??????????????????,1 union all
 9 select 3,??????????????????,1 union all
10 select 4,????????????????????????,2 union all
11 select 5,????????????????????????,2 union all
12 select 6,????????????????????????,3 union all
13 select 7,????????????????????????,3 union all
14 
15 select 8, ???????????????,0 union all
16 select 9, ?????????????????????,8 union all
17 select 10,????????????????????????,8 union all
18 select 11,???????????????????????????,9 union all
19 select 12,???????????????????????????,9 union all
20 select 13,??????????????????????????????,10 union all
21 select 14,??????????????????????????????,10 

2????????????

 ????????????

#????????????Demo

1???????????????????????????????????????????????????,???????????????????????????

 1 --????????????????????????????????????????????????
 2 with
 3 CTE
 4 as
 5 (
 6     select * from GroupInfo where Id=1
 7     union all
 8     select G.* from CTE inner join GroupInfo as G
 9     on CTE.Id=G.ParentGroupId
10 )
11 select * from CTE order by Id

 

 1 --????????????????????????????????????????????????
 2 with
 3 CTE
 4 as
 5 (
 6     select * from GroupInfo where Id=14
 7     union all
 8     select G.* from CTE inner join GroupInfo as G
 9     on CTE.ParentGroupId=G.Id
10 )
11 select * from CTE order by Id

2?????????????????????

 1 --??????????????????
 2 with
 3 CTE
 4 as
 5 (
 6     select Id,GroupName,ParentGroupId,GroupPath=CAST( GroupName as nvarchar(max)) from GroupInfo where Id=1
 7     union all
 8     select G.*,CAST(CTE.GroupPath+???//???+G.GroupName as nvarchar(max)) as GroupPath from CTE 
 9     inner join GroupInfo as G
10     on CTE.Id=G.ParentGroupId
11 )
12 select * from CTE

????????????

 3?????????????????????????????????????????????????????????

 1 --??????id????????????????????????????????????sort??????????????????sort??????????????????????????????????????????????????????
 2 WITH    
 3 CTE
 4 AS 
 5 ( 
 6     SELECT * ,CAST(RIGHT(???000??? + CAST([Id] AS VARCHAR), 3) AS VARCHAR(MAX)) AS sort FROM GroupInfo
 7     WHERE ParentGroupId = 0
 8     UNION ALL
 9     SELECT   GroupInfo.* ,CAST(sort + RIGHT(???000??? + CAST(GroupInfo.[Id] AS VARCHAR),3) AS VARCHAR(MAX)) AS sort
10     FROM CTE
11     INNER JOIN GroupInfo ON CTE.Id = GroupInfo.ParentGroupId
12 )
13 SELECT * FROM CTE ORDER BY sort 

 ????????????

4?????????????????????????????????????????????????????????

1 --??????????????????
2 WITH CTE AS (
3     SELECT *,1 AS [Level] FROM GroupInfo WHERE ParentGroupId=0
4     UNION ALL
5     SELECT G.*,CTE.Level+1 FROM GroupInfo as G 
6     JOIN CTE ON CTE.Id =G.ParentGroupId
7 )
8 SELECT * FROM CTE

 ????????????

 

以上是关于sql server 2008,如何查看存储过程里面的内容?的主要内容,如果未能解决你的问题,请参考以下文章

如何自动导出 SQL Server 2008 版本的存储过程

SQL Server 2008 R2 中运行缓慢的存储过程

SQL SERVER如何查看一个表被哪些存储过程用到?用哪个系统存储过程?

如何在 SQL Server 2008 中检索已删除的存储过程、函数、表

如何在SQL Server 2008下轻松调试T-SQL语句和存储过程

如何在 Python 中使用表值参数访问 SQL Server 2008 存储过程