<script type="text/javascript"><!----></script> SQL Server联机丛书:查看存储过程 <script type="text/javascript"><!----></script>
几个系统存储过程用系统表提供有关存储过程的信息。使用这些存储过程可以:
-
查看用于创建存储过程的 Transact-SQL 语句。这对于没有用于创建存储过程的 Transact-SQL 脚本文件的用户是很有用的。
-
获得有关存储过程的信息(如存储过程的所有者、创建时间及其参数)。
-
列出指定存储过程所使用的对象及使用指定存储过程的过程。此信息可用来识别那些受数据库中某个对象的更改或删除影响的过程。
查看存储过程的定义
sp_helptext
显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本。
语法
sp_helptext [ @objname = ] 'name'
参数
[@objname =] 'name'
对象的名称,将显示该对象的定义信息。对象必须在当前数据库中。name 的数据类型为 nvarchar(776),没有默认值。
返回代码值
0(成功)或 1(失败)
结果集
列名
|
数据类型
|
描述
|
Text
|
nvarchar(255)
|
对象定义文本
|
注释
sp_helptext 在多个行中显示用来创建对象的文本,其中每行有 Transact-SQL 定义的 255 个字符。这些定义只驻留在当前数据库的 syscomments 表的文本中。
权限
执行权限默认授予 public 角色。
示例
下面的示例显示 employee_insupd 触发器的文本,该触发器在数据库 pubs 中。
USE pubs
EXEC sp_helptext 'employee_insupd'
<!---->
查看有关存储过程的信息 sp_help
报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft® SQL Server™ 所提供的数据类型的信息。
语法
sp_help [ [ @objname = ] name ]
参数
[@objname =] name
是 sysobjects 中的任意对象的名称,或者是在 systypes 表中任何用户定义数据类型的名称。Name 的数据类型为 nvarchar(776),默认值为 NULL。不能使用数据库名称。
返回代码值
0(成功)或 1(失败)
结果集
返回的结果集取决于 name 是否已指定、何时指定以及它是何种数据库对象等因素。
-
如果执行不带参数的 sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。
列名
|
数据类型
|
描述
|
Name
|
nvarchar(128)
|
对象名
|
Owner
|
nvarchar(128)
|
对象所有者
|
Object_type
|
nvarchar(31)
|
对象类型
|
-
-
如果 name 是 SQL Server 数据类型或用户定义数据类型,则 sp_help 返回此结果集。
列名
|
数据类型
|
描述
|
Type_name
|
nvarchar(128)
|
数据类型名称。
|
Storage_type
|
nvarchar(128)
|
SQL Server 类型名称。
|
Length
|
smallint
|
数据类型的物理长度(以字节为单位)。
|
Prec
|
int
|
精度(总的数字位数)。
|
Scale
|
int
|
小数点右边的数字位数。
|
Nullable
|
varchar(35)
|
指明是否允许 NULL 值:是或否。
|
Default_name
|
nvarchar(128)
|
绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。
|
Rule_name
|
nvarchar(128)
|
绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。
|
Collation
|
sysname
|
数据类型的排序规则。如果是非字符数据类型,则为 NULL。
|
-
-
如果 name 是任意数据库对象(而不是数据类型),那么 sp_help 将返回此结果集,以及基于指定对象类型的其它结果集。
列名
|
数据类型
|
描述
|
Name
|
nvarchar(128)
|
表名
|
Owner
|
nvarchar(128)
|
表的所有者
|
Type
|
nvarchar(31)
|
表的类型
|
Created_datetime
|
datetime
|
创建的日期表
|
-
7. 根据指定的数据库对象,sp_help 返回其它结果集。
8. 如果 name 是系统表、用户表或者视图,则 sp_help 返回这些结果集(例外,对于视图,不返回描述数据文件在文件组中所处位置的结果集)。
-
-
按列对象返回其它结果集:
列名
|
数据类型
|
描述
|
Column_name
|
nvarchar(128)
|
列名。
|
Type
|
nvarchar(128)
|
列数据类型。
|
Computed
|
varchar(35)
|
指出是否计算了在列中的值:(是或否)。
|
Length
|
int
|
以字节为单位的列长度。
|
Prec
|
char(5)
|
列精度。
|
Scale
|
char(5)
|
列数值范围。
|
Nullable
|
varchar(35)
|
指出在列中是否允许 NULL 值:是或否。
|
TrimTrailingBlanks
|
varchar(35)
|
剪裁尾随空格(是或否)。
|
FixedLenNullInSource
|
varchar(35)
|
只是为了向后兼容。
|
Collation
|
sysname
|
列的排序规则。如果是非字符数据类型,则为 NULL。
|
-
-
-
按标识列返回的其它结果集:
分享到:
相关推荐
在本篇文章中,我们将详细介绍如何在Oracle中查看存储过程。 1. **SQL*Plus**: SQL*Plus是Oracle提供的一种命令行工具,它可以用来执行SQL查询和PL/SQL块,包括查看存储过程。要查看所有的存储过程,可以使用以下...
有个网友问我,如何授予某个用户只能查看某些存储过程的定义权限,而不能让用户去修改、执行存储过程。看似简单的问题,却因为从没有碰到这样的需求。花了点时间才梳理、总结清楚。 关于ORACLE账号的权限问题,一般...
本文将围绕“执行存储过程的代码和数据库脚本”这一主题展开,通过分析提供的Demo.sql文件和执行存储过程的相关知识,帮助初级学习者更好地理解和应用这些概念。 首先,让我们了解一下存储过程的基本概念。存储过程...
这些工具可以帮助开发者理解存储过程内部的工作机制,查找性能瓶颈,甚至可能包含反编译存储过程以查看其源代码的特性。 9. **安全注意事项** 解密存储过程可能会涉及到版权和安全问题,因为存储过程可能包含了...
使用sqlserver查询最近修改过的存储过程,。。。。。。。。。。。。
在某些情况下,为了保护代码不被未经授权的用户查看或修改,开发人员可能会选择对存储过程进行加密。然而,有时候,由于维护、审计或交接工作等原因,我们需要访问这些加密的存储过程内容。这就引出了“SQL Server...
在 MySQL 中,可以通过以下命令来查看存储过程的状态: ```sql SHOW PROCEDURE STATUS WHERE Db = 'test'; ``` 这里的关键字 `Db` 指的是数据库名称,即查看名为 `test` 的数据库中的所有存储过程的状态。此命令会...
这可以有效防止未经授权的用户查看存储过程的源代码。然而,在某些情况下,出于维护、调试或者迁移的需求,可能需要将这些加密过的存储过程进行解密,以便于理解和修改。 本文档将详细介绍如何针对SQL Server 2008...
SQL Server存储过程是数据库管理系统中预编译的SQL语句集合,它允许开发人员封装一系列复杂的操作,并在需要时作为一个单元执行。存储过程是数据库设计和应用开发中的关键组件,可以提升性能、增强安全性并简化代码...
- `ENCRYPTION`:加密存储过程的源代码,防止查看存储过程的具体实现细节。 - `FOR REPLICATION`:表示该存储过程可用于复制。 #### 五、示例:创建一个简单的存储过程 假设我们需要创建一个存储过程,用于查询...
1. 查询:查看存储过程的定义、参数、返回值以及创建和修改日期等信息。 2. 新建:创建新的存储过程,输入SQL语句并设置所需的输入/输出参数,然后保存到数据库中。 3. 修改:编辑已存在的存储过程,更新其内部逻辑...
- **加密存储过程**:加密存储过程的主要目的是防止他人查看存储过程中的SQL语句,从而保护敏感信息不被泄露。加密操作通常是在存储过程创建或修改时完成的。 - **加密方式**:通过将`AS`关键字替换为`WITH ...
DB2提供了ALTER PROCEDURE修改存储过程,DROP PROCEDURE删除存储过程,以及SHOW PROCEDURE查看存储过程的系统命令。 总结,DB2存储过程是数据库开发中的重要组成部分,理解和熟练掌握其使用能极大地提高数据库应用...
- **查看特定存储过程的详细信息**: ```sql SHOW CREATE PROCEDURE sp_name; ``` #### 七、数据类型及运算符 ##### 基本数据类型 Oracle支持多种数据类型,包括数值型、字符型、日期时间型等。 ##### 变量 - *...
2. 如果要查看存储过程或函数的详细信息,要使用 show create 语句 游标是 SELECT 语句检索出来的结果集。在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。游标具有以下特性: 1. 只读的,不...
2. 定义查看:用户可以直接在工具中查看存储过程或视图的完整定义,便于理解和分析。 3. 内容复制:方便用户复制存储过程或视图的定义,以便在其他地方使用或进一步编辑。 4. 结果保存:可以保存搜索结果,便于后续...
然而,为了保护敏感信息,有时数据库管理员会选择对存储过程进行加密,使得非授权人员无法查看或修改其内部实现。本主题将探讨“破解存储过程的加密”这一话题,主要涉及以下几个知识点: 1. **存储过程的概念**:...
查看SQL SERVER 加密存储过程 查看SQL SERVER 加密存储过程
此外,书中可能还会讲解如何使用`CALL`语句执行存储过程,以及如何利用`SHOW PROCEDURE STATUS`来查看存储过程的信息。 在SQL Server中,"Apress.SQL.Server.2000.Stored.Procedures.Handbook.eBook-LiB.chm"则可能...
4. **通过information_schema查看存储过程/函数信息**: ```sql SELECT * FROM information_schema.routines; ``` #### 七、变量与光标 - **变量声明**: 使用`DECLARE`来定义局部变量,该变量的作用域仅...