纵里寻她千百度,sql sever结构存储在此处

小陈在一个应用里面通过脚本的方式把表中部分数据和完整的表结构复制出来,如何实现他却头痛了....![]()
![]()
![]()
sql 没有像oracle那么方便的语句,可以直接查询表的定义:
--oracle
SELECT DBMS_METADATA.GET_DDL('TABLE','TABLE_NAME') FROM DUAL;
除了通过SSMS前端生成或者导出表定义,如何通过脚本的方式快速复制表或者表的所有相关对象(索引、约束...)定义语句呢?
sp_help可以看到表的结构,当时不能拿到表的定义语句。
来来来,您可以这样子去把表的完整定义捞出来
首先,select * into 新表名 from 旧表名
这里我们会发现数据是很快进去了,但是新表的结构只有列的定义,其他都没有:
(1)、没有索引
(2)、没有主键约束、缺省值约束、check约束、外键约束
(3)、计算列变成普通列
那么接下来应该怎么处理呢?
第二步,需要把主键约束和索引的定义拼出来,内容在这里找:
indexes、index_columns
select c.name table_name,a.name index_name,(CASE i.is_unique when 1 then 'UNIQUE' else 'NONUNIQUE' end)
AS uniqueness,d.name column_name,null expression from sysindexes a join sysindexkeys b on a.id=b.id and a.indid=b.indid
join sys.indexes i
on i.name=a.name join sysobje
纵里寻她千百度,sql sever结构存储在此处
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



