获取SqlServer存储过程定义的三种方法

 更新时间:2016年07月20日 11:14:42   作者:深蓝医生  
这篇文章主要介绍了获取SqlServer存储过程定义的三种方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下

存储过程的概念

    存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。

    存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。

    由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

存储过程的优点

        A、 存储过程允许标准组件式编程

        存储过程创建后可以在程序中被多次调用执行,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,但对应用程序源代码却毫无影响,从而极大的提高了程序的可移植性。

        B、 存储过程能够实现较快的执行速度

        如果某一操作包含大量的T-SQL语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的存储计划。而批处理的T-SQL语句每次运行都需要预编译和优化,所以速度就要慢一些。

        C、 存储过程减轻网络流量

        对于同一个针对数据库对象的操作,如果这一操作所涉及到的T-SQL语句被组织成一存储过程,那么当在客户机上调用该存储过程时,网络中传递的只是该调用语句,否则将会是多条SQL语句。从而减轻了网络流量,降低了网络负载。

        D、 存储过程可被作为一种安全机制来充分利用

        系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制,避免非授权用户对数据的访问,保证数据的安全。

以上给大家介绍的存储过程的概念和存储过程的优点都是给本文做铺垫,重点给大家介绍SqlServer存储过程定义的三种方法,一起看看吧!

第一种:

declare @p_text varchar(max)
SELECT @p_text= text 
FROM syscomments 
WHERE id = ( SELECT id FROM sysobjects WHERE name = ' 存储过程名称 ')
print @p_text 

但当存储过程内容比较长的时候,text的内容显示不完全。

第二种:

declare @p_text varchar(max)
SELECT @p_text= definition FROM sys.sql_modules 
JOIN sys.objects ON sys.sql_modules.object_id=sys.objects.object_id --and type='P' 
and sys.objects.name='sp_MSupd_dboInd_IndependenceReportTo' 
print @p_text

内容格式良好,但是Print本身不能显示超过 8000字节的内容,所以存储过程内容太长这种方式还是不行。

第三种:

exec sp_helptext '[sp_MSupd_dboRpt_Customer]'

返回定义的内容但是一个文本行内容一个记录行,这样就可以解决上面的不足了。

以上所述是小编给大家介绍的获取SqlServer存储过程定义的三种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SQL Sever无法连接服务器图文解决办法

    SQL Sever无法连接服务器图文解决办法

    SQL数据库不能连接服务器是指在使用SQL数据库时,无法建立与服务器的连接,这可能是由于多种原因导致的,包括网络问题、配置错误、权限限制等,下面这篇文章主要给大家介绍了关于SQL Sever无法连接服务器的解决办法,需要的朋友可以参考下
    2024-06-06
  • sql server学习基础之内存初探

    sql server学习基础之内存初探

    这篇文章主要给大家介绍了关于sql server中内存的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家学习或者理解sql server具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • SQL Server中的游标介绍

    SQL Server中的游标介绍

    这篇文章介绍了SQL Server中的游标,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SQL Server基础教程之游标(Cursor)

    SQL Server基础教程之游标(Cursor)

    这篇文章主要给大家介绍了关于SQL Server基础教程之游标(Cursor)的相关资料,游标是SQL Server的一种数据访问机制,它允许用户访问单独的数据行,需要的朋友可以参考下
    2023-11-11
  • SQL注入神器SQLMap参数详解

    SQL注入神器SQLMap参数详解

    SQLMap是一款开源的SQL注入检测与渗透测试工具,具有自动化检测、支持多种数据库、综合测试、漏洞利用、批量扫描、细粒度控制及报告生成等功能,本文就来详细的介绍一下SQL注入神器SQLMap参数详解,感兴趣的可以了解一下
    2024-09-09
  • sql server自动生成拼音首字母的函数

    sql server自动生成拼音首字母的函数

    建立一个查询,执行语句生成函数fn_GetPy,下面是具体的实现,需要的朋友可以参考下
    2014-01-01
  • delete误删数据使用SCN号恢复(推荐)

    delete误删数据使用SCN号恢复(推荐)

    这篇文章主要介绍了使用scn号恢复误删数据问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • sqlserver查找括号()中字符串内容的方法实现

    sqlserver查找括号()中字符串内容的方法实现

    本文主要介绍了sqlserver查找括号()中字符串内容的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • sql server 数据库锁教程及锁操作方法

    sql server 数据库锁教程及锁操作方法

    SQL Server数据库锁机制是保证并发性和数据一致性的关键,它通过不同级别的锁和锁类型(共享、排他、更新等)来管理资源访问,了解和正确使用锁机制,可以帮助开发者设计高效、并发性强的数据库应用,本文介绍sql server 数据库锁教程及锁操作,感兴趣的朋友一起看看吧
    2025-02-02

最新评论