日期:2014-05-18  浏览次数:20472 次

如何将表结构创建语句修改为字段追加语句!
---已知表结构创建语句
CREATE   TABLE   [dbo].[A]   (
[id]   [int]   IDENTITY   (1,--   1)   NOT   NULL   ,--         流水号
[code]   [varchar]   (8)   NULL   ,--                                 病案号
[icd]   [varchar]   (10)   NULL   ,--                                 ICD编号
[name]   [varchar]   (50)   NULL   ,--                               ICD名称
[status]   [varchar]   (10)   NULL   ,--                           出院情况
)   ON   [PRIMARY]
GO

先要把上述字段一次性追加到表B种
请问有什么高招,谢谢!不要一句一句修改,我这里要添加很多字段的

------解决方案--------------------

declare @sql varchar(1000)
select @sql= ' '
select @sql=@sql+ 'alter table B add '
select @sql=@sql+ t.name+ ' '+t.type+ ', '
from (select a.name,b.name+(case when b.status!=0 then '( '+ltrim(COLUMNPROPERTY(a.id,a.name, 'PRECISION '))+ ') ' else ' ' end)
+(case when COLUMNPROPERTY( a.id,a.name, 'IsIdentity ')=1 then ' identity(1,1) ' else ' ' end) as type
from syscolumns a left join systypes b on a.xtype=b.xtype where object_id( 'A ')=a.id ) t
select @sql=left(@sql,len(@sql)-1)
print(@sql)