[SQL Server]如何快速查找使用了某个字段的所有存储过程

当一个系统中使用了很多的表,并且存在大量的存储过程,当数据库中 的某个表删除了某个字段,那么相应的存储过程也需要改动,但是我们不知道哪些存储过程使用了该字段,那我们该怎么办?我们可以从之前的文档一个一个查找使 用了该字段的存储过程,但是这样效率很多,而且还容易出错,我们可以使用下面的方法来查找所有使用了某个字段的存储过程。如下的函数:

[sql]

GO

SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容

FROM syscomments sc

INNER JOIN sysobjects obj ON sc.Id = obj.ID

WHERE sc.TEXT LIKE ‘%‘ + ‘字段名‘ + ‘%‘

AND TYPE = ‘P‘

GO

时间: 2024-10-27 12:32:06

[SQL Server]如何快速查找使用了某个字段的所有存储过程的相关文章

在SQL Server中快速删除重复记录

在SQL Server中快速删除重复记录 2006-07-17 21:53:15 分类: SQL Server 开发人员的噩梦——删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地会碰到由于表中存在重复的记录而导致查询和统计结果不准确.解决该问题的办法就是将这些重复的记录删除,只保留其中的一条. 在SQL Server中除了对拥有十几条记录的表进行人工删除外,实现删除重复记录一般都是写一段代码,用游标的方法一行一行检查,删除重复的记录.因为这种方法需要对整个表

sql server 查看列备注、类型、字段大小

select 列名 = a.name ,类型 = c.name ,长度 = columnproperty(a.id,a.name,'precision') ,备注 = g.value from syscolumns a left join sysobjects b on a.id=b.id left join systypes c on a.xusertype = c.xusertype left join sysproperties g on a.id =g.id and a.colid =g

Sql Server 遍历数据库文件找出使用了某个表/存储过程的所有存储过程

Sql Server 遍历数据库文件找出使用了某个表/存储过程的所有存储过程. 1 CREATE Procedure SP_GetProc 2 @Object_Name Varchar(50) 3 as 4 Set nocount on 5 6 DECLARE @tmptable TABLE 7 ( 8 ID int IDENTITY (1, 1), 9 [DataBase] Varchar(100), 10 Name Varchar(500), 11 Type Varchar(100), 12

SQL Server 判断表中是否存在某字段

原文:SQL Server 判断表中是否存在某字段 功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].SYS.SYSCOLUMNS WHERE ID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME]) AND NAME='COLUMN_NAME') ALTER TABLE [TABLENAME] ADD [COLUMN_NAME] [COLUMN_TYPE] p.s. 之前

sql server 查询数据库所有的表名+字段

原文:sql server 查询数据库所有的表名+字段 SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT    (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空       a.colorder as 字段序号,       a.name as 字段名,       (case when COLUMNPROPER

SQL Server 2000中查询表名,列名及字段类型

经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所要的表名,如要查找包含用户的表名,可通过以下SQL语句实现, Select * From sysobjects Where name like '%user%' 如果知道列名,想查找包含有该列的表名,可加上系统表syscolumns来实现,如想查找列名中包含有user的所有表名,可通过以下SQL语句来实现 Select * From sysobjects s Where Exists( Select *

Sql Server-使用Sql Server自带的分词功能实现字段关键词提取(分词能力很低,慎用)

“创建全文索引 启动服务 在SQL Server配置管理工具中,找到'SQL Full-text Filter Daemon Launcher'服务用本地用户启动. 创建全文目录 打开需要创建全文目录的数据库-存储-全文目录-右键新建全文目录 用语句创建全文目录  CREATE FULLTEXT CATALOG [FD_HouseSearch]WITH ACCENT_SENSITIVITY = ON AS DEFAULT AUTHORIZATION [dbo] 此外还可以通过存储过程创建全文目录

Sql Server中的标识列(自增长字段)

一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列. 由于以上特点,使得标识列在数据库的设计中得到广泛的使用. 二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:de

SQL Server中,Numric,Decimal,Money三种字段类型的区别

都是精确数据类型, 前两个可以自己定义长度和小数位数, Money的定义相当于Numric(19,4) numeric(10,2) 表示最大可以放10位数,但这10位数里有2位是小数如: 12345678.12 numeric 功能上等同于 decimal. sql server的 money 类型其实就是小数类型 decimal .   字节数 长度(小数点前.小数点后) money 8 15位.4位 decimal(19,4) 9 15位.4位(千万亿以下)       smallmoney