在SQL中如何判断指定的列名是否存在

判断一个数据表( T_TestTable)是否存在列名为sum的一个SQL语句,如果不存在则向表中插入列名为sum的列,数据类型为 float.
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[T_TestTable]'and OBJECTPROPERTY(id, N'IsUserTable'= 1)

if
 ( NOT   exists  (  select   *   from  dbo.syscolumns  where  name  =   ' sum '   and  id  in  
(
select  id  from  dbo.sysobjects  where  id  =   object_id (N ' [dbo].[T_TestTable] ' and   OBJECTPROPERTY (id, N ' IsUserTable ' =   1 ))

ALTER   TABLE   [ dbo ] . [ T_TestTable ]   ADD   sum   float  
GO

简单记录一下,不知道有没有其他的缺陷,反正暂时是可以运行的,如果有错,请指教,本人sql语句不怎么样。总感觉这语句不好。
修改已存在的列的列名:sp_rename 'T_INFO_TestTable.HouseNo','HouseNONew','column' ;
GO

你可能感兴趣的:(sql)