SQL Server中搜索特定的对象
一、注释中带某关键字的对象
主要用到 sys.tables 、sys.columns 、sys.procedures 系统对象表以及sys.extended_properties 扩展属性表
--查询列
SELECT A.name AS table_name ,
B.name AS column_name ,
C.value AS column_description
FROM sys.tables A
INNER JOIN sys.columns B ON B.object_id = A.object_id
LEFT JOIN sys.extended_properties C ON C.major_id = B.object_id
AND C.minor_id = B.column_id
WHERE CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%'; --查询表
SELECT A.name AS table_name ,
C.value AS column_description
FROM sys.tables A
INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
AND C.minor_id = 0
WHERE CAST(C.[value] AS VARCHAR(1000)) LIKE '%请假%' --查询存储过程
SELECT A.name AS table_name ,
C.value AS column_description
FROM sys.procedures A
INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
AND C.minor_id = 0
WHERE CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%'
二、定义语句中带某关键字的对象
主要用到 dbo.sysobjects 系统对象表以及sys.all_sql_modules 对象定义语句表
--老方式
SELECT DISTINCT b.name, b.xtype
FROM dbo.syscomments a, dbo.sysobjects b
WHERE a.id = b.id
AND b.xtype = 'p'
AND a.text LIKE '%LotMax%'
ORDER BY name; --从 2008 开始,新方式
SELECT name, type_desc
FROM sys.all_sql_modules s
INNER JOIN sys.all_objects o ON s.object_id = o.object_id
WHERE definition LIKE '%LotMax%'
ORDER BY type_desc, name;
三、查找列名
select A.name as table_name, B.name as column_name
from sys.tables A
inner join sys.columns B on B.object_id = A.object_id
where B.name like '%File%'
order by A.name, B.name;
完整的列属性:
with indexCTE
as ( select ic.column_id, ic.index_column_id, ic.object_id
from ZSOtherData.sys.indexes idx
inner join ZSOtherData.sys.index_columns ic on idx.index_id = ic.index_id and idx.object_id = ic.object_id
where idx.object_id = object_id('Mould') and idx.is_primary_key = 1 )
select colm.column_id ColumnID, cast(case when indexCTE.column_id is null then 0 else 1 end as bit) IsPrimaryKey, colm.name column_name ,object_definition(colm.default_object_id) AS column_def,
systype.name type_name, colm.is_identity is_identity, colm.is_nullable , cast(colm.max_length as int) ByteLength ,
( case when systype.name = 'nvarchar' and colm.max_length > 0 then colm.max_length / 2
when systype.name = 'nchar' and colm.max_length > 0 then colm.max_length / 2
when systype.name = 'ntext' and colm.max_length > 0 then colm.max_length / 2 else colm.max_length end ) length ,
cast(colm.precision as int) precision, cast(colm.scale as int) scale,colm.is_computed, prop.value Remark
from ZSOtherData.sys.columns colm
inner join ZSOtherData.sys.types systype on colm.system_type_id = systype.system_type_id and colm.user_type_id = systype.user_type_id
left join ZSOtherData.sys.extended_properties prop on colm.object_id = prop.major_id and colm.column_id = prop.minor_id
left join indexCTE on colm.column_id = indexCTE.column_id and colm.object_id = indexCTE.object_id
where colm.object_id = object_id('Mould')
order by colm.column_id;
SQL Server中搜索特定的对象的更多相关文章
- SQL Server中查询用户的对象权限和角色的方法
--SQL Server中查询用户的对象权限和角色的方法 -- 查询用户的object权限 exec sp_helprotect NULL, 'sa' -- 查询用户拥有的role exec sp_h ...
- SQL Server中授予用户查看对象定义的权限
SQL Server中授予用户查看对象定义的权限 在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程.函数.视图.表)的定义权限存.如果是部分存储过程.函数. ...
- Sql Server中使用特定字符分割字符串
在T-SQL中我们经常批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了.这里将字符串分割以table形式输出 语法如下: SET ANSI_NUL ...
- 简述Sql Server中常用的数据库对象(面试题)
1.表(Table ) 数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的.列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名.行包括了若干列信息项 ...
- 理解SQL Server中的权限体系(下)----安全对象和权限
原文:http://www.cnblogs.com/CareySon/archive/2012/04/12/SQL-Security-SecurableAndPermission.html 在开始阅读 ...
- 理解SQL Server中的权限体系(上)----主体
原文:http://www.cnblogs.com/CareySon/archive/2012/04/10/mssql-security-principal.html 简介 权限两个字,一个权力,一个 ...
- 4.3.6 对象的界定通过编写接口来访问带这类命名结构的表会出问题。如前所述,SQL Server的灵活性不应用作编写错误代码或创建问题对象的借口。 注意在使用Management Studio的脚本工具时,SQL Server会界定所有的对象。这不是因为这么做是必须的,也不是编写代码的最佳方式,而是因为在界定符中封装所有的对象,比编写脚本引擎来查找需要界定的对象更容易。
如前所述,在创建对象时,最好避免使用内嵌的空格或保留字作为对象名,但设计人员可能并没有遵守这个最佳实践原则.例如,我当前使用的数据库中有一个审核表名为Transaction,但是Transaction ...
- 在SQL Server中查看对象依赖关系
原文 在SQL Server中查看对象依赖关系 Viewing object dependencies in SQL Server Deleting or changing objects may ...
- sql server中常用方法函数
SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...
随机推荐
- Tornado简介
Tornado是一个具有强大异步功能的Python Web框架. Hello World 使用pip安装tornado: pip install tornado 编写控制器: import torna ...
- javascript 方法总结(Array篇)
1.toString:返回以数组种的每个值得字符串形式拼接而成得一个以逗号分割得字符串 toStringArr = [1, 2, 3, 4, 5, 6] console.log(toStringArr ...
- 二进制GCD算法 减少%的时间消耗
/* 二进制求最大公约数.由于传统的GCD,使用了%,在计算机运行过程中要花费大量的时间,所以,采取二进制的求法,来减少时间的消耗. 算法: 当a,b都是偶数时: gcd(a,b)=2*gcd(a/2 ...
- MySQL的排序方式
MySQL中 进行排序的方式: Select * from 表名 [where 条件 order by 字段名(默认的是ASC升序排列)] ASC是升序排列,DESC用来指定降序排列 Oracle中 ...
- 转:JS判断值是否是数字(两种方法)
JS判断值是否是数字 1.使用isNaN()函数 isNaN()的缺点就在于 null.空格以及空串会被按照0来处理 NaN: Not a Number /***判断是否是数字***/ 1 2 3 ...
- iframe跨源报错:"Blocked a frame with origin from accessing a cross-origin frame"
一.报错信息: “Blocked a frame with origin from accessing a cross-origin frame” 二.在stackoverflow上找到原因 Same ...
- Python解析SWAN气象雷达数据--(解析、生成ASCII、Image、netCDF)
解析 from datetime import * import time import calendar import json import numpy as np from struct i ...
- button的OnClickListener的三种实现方法
onclick事件的定义方法,分为三种,分别为在xml中进行指定方法:在Actitivy中new出一个OnClickListenner():实现OnClickListener接口三种方式. 代码分别如 ...
- idapython 开发
调试方法 使用 pydevd 然后在需要调试处加入调试代码 GetOperandValue 作用 参数1: ea 虚拟地址 参数2: 操作数号 返回指令的操作数的被解析过的值 文档 def GetOp ...
- cookie implements session
cookie实现会话 服务器调用response.addCookie()设置set-cookie响应头后,浏览器收到这个响应头与数值后,会将它以文件的形式存储于本地PC上.当浏览器再次访问同一Web服 ...