2、if (select count(*) from syscolumns 
where id=(select id from sysobjects where name='tablename' ))>1
条件成立,则存在1、sp_rename [ @objname = ] 'object_name' ,
    [ @newname = ] 'new_name'
    [ , [ @objtype = ] 'object_type' ]
EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'

解决方案 »

  1.   

    不好意思,有误
    2、if  (select  count(*)  from  syscolumns  
    where  id=(select  id  from  sysobjects  where  name='tablename'  )
             and name='columnname')>1 
    条件成立,则存在 
      

  2.   

    非常感谢您的帮助,第二个问题已解决,第一个问题您能举个例子吗?我看不太懂。谢谢!
    我记得有一条命令alter table table_name modify column ...
    记不清了。
      

  3.   

    变通一下: 
      1\ 将表abc中的aaa改为bbb 
        ALTER  TABLE  abc  ADD  COLUMN  bbb 
        UPDATE  TABLE  abc  SET  bbb=aaa 
        ALTER  TABLE  abc  DROP  COLUMN  aaa OK?   2\ALTER TABLE abc CHANGE 'F1' 'F2' CHAR(10) DEFAULT 'F' NOT NULL
      

  4.   

    to shymeng(编程新手):我明白您说的意思,可是这势必会改变数据库中各字段的位置,我的程序中用到了这些位置。我觉得应该有改字段名称的sql语句.
      

  5.   

    alter  table  table_name  modify  column  ... 
    不能更改字段的名称
    例子如下:
    EXEC  sp_rename  'customers.[contact  title]',  'title',  'COLUMN'
    customers.[contact  title]是customers表中需要rename的字段
    title是修改后的名称
    column表示要rename的是列
      

  6.   

    sp_rename
    更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
    [@objname =] 'object_name'
    是用户对象(表、视图、列、存储过程、触发器、默认值、数据库、对象或规则)或数据类型的当前名称。如果要重命名的对象是表中的一列,那么 object_name 必须为 table.column 形式。如果要重命名的是索引,那么 object_name 必须为 table.index 形式。object_name 为 nvarchar(776) 类型,无默认值。
    [@newname =] 'new_name'
    是指定对象的新名称。
    [@objtype =] 'object_type'
    是要重命名的对象的类型