查看数据库对象创建脚本
2013-05-09 20:55
197 查看
我们在做维护项目时经常需要查看数据库结构,但是用SQL Server Management Studio来查看数据库对象的创建脚很不方便,尤其是触发器、索引、约束的创建都与表有关,它们的脚本有关联。
首先我们来看看触发器、函数、存储过程他们的创建都是带有明显的脚本信息,这些脚本信息主要存放在sys.sql_modules,
sql代码如下:
View Code
运行结果:
最后索性把这些sql通过windows form做成一个小工具。
有不当的地方还请大家怕转。
代码可以在http://download.csdn.net/detail/dz45693/5350397下载。
首先我们来看看触发器、函数、存储过程他们的创建都是带有明显的脚本信息,这些脚本信息主要存放在sys.sql_modules,
sql代码如下:
View Code
;WITH TypeDef AS( SELECT TypeName=QUOTENAME( SCHEMA_NAME(t.schema_id))+'.'+QUOTENAME(t.name) ,ParentName=TYPE_NAME(t.system_type_id)+'' +case when DataType in ('decimal','numeric') then '('+cast(t.precision as varchar(10))+case when t.scale<>0 then ','+cast(t.scale as varchar(10)) else '' end +')' when DataType in ('char','varchar','nchar','nvarchar','binary','varbinary') then '('+case when t.max_length=-1 then 'max' else case when DataType in ('nchar','nvarchar') then cast(t.max_length/2 as varchar(10)) else cast(t.max_length as varchar(10)) end end +')' when DataType='float' and t.precision<>53 then '('+cast(t.precision as varchar(10))+')' when DataType in ('time','datetime2','datetimeoffset') and t.scale<>7 then '('+cast(t.scale as varchar(10))+')' else '' end +case when t.is_nullable=0 then ' NOT' else '' end+' NULL' from sys.types t cross apply ( select DataType=type_name(t.system_type_id) ) F1 WHERE t.is_user_defined=1 ) SELECT TypeName,'CREATE TYPE '+TypeName+' FROM ' +ParentName AS definition FROM TypeDef
运行结果:
最后索性把这些sql通过windows form做成一个小工具。
有不当的地方还请大家怕转。
代码可以在http://download.csdn.net/detail/dz45693/5350397下载。
相关文章推荐
- 查看数据库对象创建脚本
- oracle 如何查看创建表等数据库对象时的DDL语句
- MS SQL 中判断 数据库, 存储过程,表,临时表,视图,函数,用户,用户创建对象 等是否存在 SQL脚本
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
- oracle 如何查看创建表等数据库对象时的DDL语句
- SQLServer获得所有用户存储过程、根据存储过程名称获得内容、获得数据库对象创建脚本
- 查看SQL对象的创建脚本
- 查看一个数据库是否有INVALID的对象【脚本】
- 查询数据库对象创建脚本的SQL
- db2 创建数据库联合对象报错的解决办法
- 如何取得数据库对象的脚本信息
- 通过SQL 脚本创建数据库方案(oracle)
- 使用 JDBC 创建数据库对象 1
- 数据库访问的一些公共的方法01-创建SQL数据库或Acess数据库等连接对象
- 124.Oracle数据库SQL开发之 数据库对象——查看对象类型
- ios sqlite的创建数据库,表,插入查看数据
- iOS学习之sqlite的创建数据库,表,插入查看数据
- iOS学习之sqlite的创建数据库,表,插入查看数据
- MySQL创建和删除数据库的命令及相关PHP脚本的操作方法
- T-SQL入門攻略之11-查看数据库对象