当前位置: 代码迷 >> Sql Server >> 剔除现有表,建一个同名表的SQL语句
  详细解决方案

剔除现有表,建一个同名表的SQL语句

热度:97   发布时间:2016-04-24 09:36:29.0
删除现有表,建一个同名表的SQL语句.
有一个表以前的表结构不合理,于是打算删除.或者改名都行.反正不能叫那个表名了.然后再创建一个表.再插入默认记录.

我是这样写的:
原表结构中没有ord字段.故我以此作为判断依据.

if not exists (select 1 from syscolumns where id=object_id('dic_rpt') and name='ord')
begin
    drop table dic_rpt;
end;

if not exists (select 1 from sysobjects where id = object_id('dic_rpt') and type = 'U')
begin
CREATE TABLE dic_rpt(
[id] [int] IDENTITY(1,1) NOT NULL,
[ord] [int] NOT NULL,
[tabname] [varchar](100) NOT NULL,
[rb] [varchar](1) NULL,
[xb] [varchar](1) NULL,
[yb] [varchar](1) NULL,
[jb] [varchar](1) NULL,
[nb] [varchar](1) NULL,
CONSTRAINT [PK_dic_rpt] PRIMARY KEY  NONCLUSTERED
(     
[id] 
)  ON [PRIMARY] 
) ON [PRIMARY];
insert into dic_rpt(ord,tabname,rb,xb,yb,jb,nb) values(1,'机报11','','Y','Y','Y','Y');
insert into dic_rpt(ord,tabname,rb,xb,yb,jb,nb) values(2,'机报12','','Y','Y','Y','Y');
end


这一段,如果我在查询分析器中分开执行可通过..但是放到一起执行就不行了..求达人帮忙.
------解决思路----------------------
如果仅仅是增加列,可以用alter table命令啊,没必要那么大动作
  相关解决方案