Sql server 得到表结构的Sql语句
2014-08-07 10:33
323 查看
declare @sql varchar(8000),@tablename varchar(100) set @tablename ='Test'--这里输入表名 set @sql = ' if object_id('''+@tablename+''',''u'') is not null drop table '+@tablename+' '+CHAR(10)+'go create table ['+@tablename+'] ( ' select @sql = @sql + b.name + ' '+ c.name+ case when c.collation_name is not null then '('+ case when b.max_length <>-1 then convert(varchar(100),b.max_length) else 'MAX' end +') ' else '' end + case when b.is_identity = 1 then ' identity('+convert(varchar(100),IDENT_SEED(@tablename))+','+convert(varchar(100),IDENT_INCR(@tablename))+')' else '' end + case when d.definition is not null then ' default('+d.definition +')' else '' end + case when b.is_nullable = 0 then ' not null' else ' null' end + ', ' from sys.objects a join sys.columns b on a.object_id = b.object_id join sys.types c on b.system_type_id = c.system_type_id and b.user_type_id = c.user_type_id left join sys.default_constraints d on b.default_object_id = d.object_id where a.name =@tablename order by b.column_id if exists(select * from sys.indexes where object_id =object_id(@tablename) and is_primary_key =1 ) begin select @sql = @sql + 'CONSTRAINT ['+name+'] PRIMARY KEY '+type_desc+' ( ' from sys.indexes where object_id =object_id(@tablename) and is_primary_key =1 select @sql = @sql + b.name + case when a.is_descending_key =1 then ' DESC' else ' ASC' end +', ' from sys.index_columns a join sys.columns b on a.object_id= b.object_id and a.column_id = b.column_id where a.object_id =object_id(@tablename) select @sql = left(@sql,len(@sql)-3)+' )' select @sql = @sql+' ) ON [PRIMARY] ' end else begin select @sql = left(@sql,len(@sql)-1)+' ) ON [PRIMARY] ' end PRINT @sql
相关文章推荐
- 得到用户表结构的SQL语句
- sql语句 得到 sql server 表中列的类型和说明
- 在sql server中如何用sql语句查看表结构信息?
- 在PL/SQL使用 dbms_metadata包中的方法得到表结构的信息以及建表sql语句。
- SQL Server 索引结构及其使用(二) 改善SQL语句第1/3页
- SQL SERVER 2000获取表结构的SQL语句
- SQL Server ->> 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
- SQL语句实现SQL Server及ACCESS复制表结构或表结构及内容到新的表
- 在sql server中如何用sql语句查看表结构/存储过程信息
- 获取sql server数据库中所有用户表名及在sql server中怎样用sql得到库中所有的表名以及表的结构(列名和数据类型)
- sql server 表结构数据字典的sql语句
- SQL SERVER中SQL语句的一个问题——得到连续数字数据集的SQL语句
- 得到用户表结构的SQL语句
- SQL语句实现SQL Server 2000及ACCESS复制表或表结构及内容到新的表
- 获取sql server数据库中所有用户表名及在sql server中怎样用sql得到库中所有的表名以及表的结构(列名和数据类型)
- SQL语句实现SQL Server及ACCESS复制表结构或表结构及内容到新的表
- SQL SERVER 获取表结构信息的SQL语句
- SQL SERVER 获取表结构信息的SQL语句
- 超级有用的SQL语句(分析SQL SERVER 数据库表结构专用)
- 超级有用的SQL语句(分析SQL SERVER 数据库表结构专用)