有一个user表,想在这个表的基础上添加一列,但是不改变原来表的结构,直接用sql语句能不能实现?用存储过程怎么实现?求高人指点

解决方案 »

  1.   

    select *,'新列' as new
    from user
    这样不变表结构 
      

  2.   


    create proc alterTB @tbName varchar(20)
    ,@addColname varchar(20),@addColType varchar(20)
    as
    alter table @tbName add column @addColname @addColType
    goexec alterTB tbTest,userName,varchar(10) 
      

  3.   


    create proc alterTB @tbName varchar(20)
    ,@addColname varchar(20),@addColType varchar(20)
    as
    exec ('alter table '+@tbName+' add  '+@addColname+'  '+@addColType)
    go
     
    exec alterTB 'tbTest','userName','varchar(10)' 
      

  4.   

    如果在USER表里加一列,那就相当于改变了USER表的结构。
    方法:ALTER Table USER Add 新增列名 数据类型;
    个人觉得可以使用临时表#a,临时表的结构相当于在USER表结构加一列,然后使用临时表进行计算。