if object_id('a') is not null drop table a
go
CREATE TABLE a (
       [teacherid] [varchar] (50),
       [courseinfo] [varchar] (50),
       [coursename] [varchar] (50),
       [point]      [float] 
      
 )insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
insert into a(teacherid,courseinfo,coursename,point) values('0002','0101011003_1_1','岩浆学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
insert into a(teacherid,courseinfo,coursename,point) values('0004','0101011007_1_1','地理信息学_理论',90.50)
go 
给表a 做个拷贝表b,select * into b from a 可以完成,但是现在需要把表a的数据
拷贝生成表b时,同时能在表b里增加一个字段addminsterid,并且它的值由传入存储过程的参数来填,如给其传入1088,则生成的b表应是
addminsterid teacherid courseinfo   coursename                  point
1088         0001  0101011002_1_1 岩浆岩及变质岩石学_理论 80.6
1088         0002  0101011003_1_1 岩浆学_理论          90.5
1088         0003  0101011006_1_1 变质岩石学_理论          90.5
1088         0004  0101011007_1_1 地理信息学_理论          90.5
哪位高手能帮忙看看这个问题怎么解决?

解决方案 »

  1.   

    select addminsterid=1088,a* into b from a a
      

  2.   

    create proc pc
    @addminsterid varchar(20)
    as
    if object_id('b') is not null
    drop table b select addminsterid=@addminsterid, * into b from a
    go
      

  3.   

    --
    if object_id('a') is not null drop table a
    go
    CREATE TABLE a (
           [teacherid] [varchar] (50),
           [courseinfo] [varchar] (50),
           [coursename] [varchar] (50),
           [point]      [float] 
          
     )
    insert into a(teacherid,courseinfo,coursename,point) values('0001','0101011002_1_1','岩浆岩及变质岩石学_理论',80.05)  
    insert into a(teacherid,courseinfo,coursename,point) values('0002','0101011003_1_1','岩浆学_理论',90.50)
    insert into a(teacherid,courseinfo,coursename,point) values('0003','0101011006_1_1','变质岩石学_理论',90.50)
    insert into a(teacherid,courseinfo,coursename,point) values('0004','0101011007_1_1','地理信息学_理论',90.50)
    go --
    create proc pc
    @addminsterid varchar(20)
    as
    if object_id('b') is not null
    drop table b select addminsterid=@addminsterid, * into b from a
    go
    --
    exec pc '1089'
    --
    select * from b
    --
    drop proc  pc