SQL存储过程INSERT中是否可以同时使用参数值和SELECT语句传递值?
例如表A和表B,A比B多了第一个字段,后面的完全一样,请问是否可以实现类似下面的语句的功能(语句编译不能通过,仅是功能参考):
INSERT A (A.1,A.2,A.3,A.4)
(@OutValue,
 Select B.1,B.2,B.3 from B)

解决方案 »

  1.   

    .....不大明白 
    估计可以使用动态 配合 syscolumns解决
      

  2.   

    就是把表B全部复制到表A,同时表A比表B多出的一个字段使用参数赋值
      

  3.   

    不行,需要使用动态来拼接SQL语句.
      

  4.   

    哦,貌似可以这样.INSERT A (A.1,A.2,A.3,A.4)
    Select B.1,B.2,B.3,@OutValue from B
      

  5.   

    INSERT A (A.1,A.2,A.3,A.4)
    select @OutValue,B.1,B.2,B.3 from B
      

  6.   

    create procedure my_proc @OutValue @int --你需要的类型
    as
    begin
      INSERT A (A.1,A.2,A.3,A.4) Select B.1,B.2,B.3,@OutValue from B
    end
      

  7.   

    dawugui的方法是可行的,谢谢啦!
      

  8.   

    insert into A (A.1,A.2,A.3,A.4)
    select *,'' from b我是菜鸟!!!