我想在表中添加一个不存在的列 并且判断该列是否已经存在 只用SQL如何实现
类似于 
if  not exists (select New_column from table1)
ALTER TABLE  table1  ADD New_column VARCHAR(20)  NULL
GO
该语句分析通过
执行报错: 
服务器: 消息 207,级别 16,状态 3,行 1
列名 'New_column' 无效。
谢谢各位老大

解决方案 »

  1.   

    我的目的是在一个表中(该表中不存在New_column列)添加一个新列New_column,
    并且在每次执行该语句时,判断New_column列是否存在,若存在则不作处理,
    若不存在,则添加列New_column
    那么该如何判断这个新列是否存在呢
    SQL语句该如何组织谢谢各位老大啊 
    急急急急急
      

  2.   

    (select New_column from table1)这句没有New_column是会报错的...
      

  3.   

    先这个
    if  not exists (select New_column from syscolumns where id=(select id from sys objects where name='本表名')
    )......
      

  4.   

    if  not exists (select Name From SysColumns Where ID = OBJECT_ID('table1') And Name = 'New_column')
    ALTER TABLE  table1  ADD New_column VARCHAR(20)  NULL
    GO
      

  5.   

    Create Table table1(ID Int)
    GO
    if  not exists (select Name From SysColumns Where ID = OBJECT_ID('table1') And Name = 'New_column')
    ALTER TABLE  table1  ADD New_column VARCHAR(20)  NULL
    GO
    Select * From table1
    GO
    Drop Table table1
    --Result
    /*
    ID New_column
    */
      

  6.   

    更正
    if  not exists (select name from syscolumns where id=(select id from sysobjects where name='本表名') and name='你要新加的列表')......