两个表
比如 
表A和表B,
把A表中的数据使用where选择部分添加到的表B中,而且表B中有两个字段还需要添加固定值,不是从表A中获取的,
另外 
两个表中的字段类型有 varchar的,datetime的,,,这个好像不影响吧?---从来没有写过存储过程 谢谢 

解决方案 »

  1.   

    INSERT B(COL1,COL2,COL3)
    SELECT COL1,'固定值A','固定值B'
    FROM A
    WHERE ...
      

  2.   

    --注意字段对应。
    insert tb(col1,col2,col3,...字段列表)
    select col1,固定值1,固定值2,col ...from ta where .........
      

  3.   

    不会就是插入吧  那不就是INSERT B(COL1,COL2,COL3)
    SELECT COL1,'固定值A','固定值B'
    FROM A
    WHERE ...
    --2楼的?
      

  4.   


    CREATE PROC PRA
    AS
      BEGIN
      INSERT INTO B(COL1,COL2,COL3) SELECT COL1,COL2,COL3 FROM A WHERE ..  UPDATE B SET COL4=固定值,COL5=固定值
      END
      

  5.   


    insert into b(字段1,字段2,字段3) select a中的字段,值1,值2 from a where ...
      

  6.   

    如果两个表的对应字段类型一致,直接用insert into语句:
    insert into tabB(col1,col2,...,coln) 
    select 
        col1,
        col2,
        'xxx', --固定值1,具体值根据楼主的要求处理,注意数据类型与表中一致
        'yyy', --固定值2,具体值根据楼主的要求处理,注意数据类型与表中一致
        ...
        coln
    from
        tabA
    where
        ...  --筛选条件
      

  7.   

     
    CREATE PROCEDURE  sp_ta as
    insert into tb
    select a.1a,a.2a,'固定数据','固定数据' from ta as a where 条件=''
      

  8.   

    比如表A中有a,b,c,d,e,f,g,h字段,表B中有j,k,l,m,n,o,p,q,r,s字段,需要把表A中有a,b,c,d,e字段内容根据g,h字段筛选出来,然后插入表B中j,k,l,m,n中,同时o,p,两个字段写入固定值,我需要整个存储过程,谢谢
      

  9.   

    insert into B(j,k,l,m,n,o,p) select a,b,c,d,e,'固定值','固定值' from A where g=? and h=?
      

  10.   

    insert into B (........)
    select .......where .......
      

  11.   

    CREATE PROCEDURE Proc_A2B 
       @para_o varchar(100),
       @para_p varchar(100) 
    AS 
    insert into B(j,k,l,m,n,o,p) select a,b,c,d,e,@para_o,@para_p from A where g=? and h=? --把问号换成条件
    GO
      

  12.   

    CREATE PROCEDURE Proc_A2B 
      @g varchar(20), 
      @h varchar(20) 
    AS 
    INSERT INTO B(j,k,l,m,n,o,p) 
    SELECT a,b,c,d,e,值1,值2
    FROM A 
    WHERE g=@g AND h=@h  
    GO 
      

  13.   

    存储过程就是SQl语句的集合。没什么的
      

  14.   

    --若已存在名为up_A2B的存储过程则先删除
    if exists(select name from sysobjects where name='up_A2B' and type='P')
      drop procedure up_A2B
    go
    --建立存储过程
    create procedure up_A2B  
    AS 
     begin
        insert into B(j,k,l,m,n,o,p) 
        select a,b,c,d,e,固定值1,固定值2
        from A 
        where g=? AND h=? --?为选择条件  
    go
      

  15.   

    CREATE PROCEDURE yueduzhouqijihua_add
    @jdyf nvarchar(255),
    @nowmonth nvarchar(255)
    AS 
    INSERT INTO jdjzjh(zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,jdyf,abc,sl,sjsl,jhxx)
    SELECT zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,@jdyf,abc,sl,sjsl,"WJ"
        FROM clsbtz
       where  (jdzq="6" and jdyf like "%@nowmonth%")
    GO
    我写了这个存储过程,但是使用这个where  (jdzq="6" and jdyf like "%@nowmonth%") 却筛选不出来出来,请问jdyf like "%@nowmonth%"是这样写吗
      

  16.   

    CREATE PROCEDURE yueduzhouqijihua_add 
    @jdyf nvarchar(255), 
    @nowmonth nvarchar(255) 
    AS 
    INSERT INTO jdjzjh(zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,jdyf,abc,sl,sjsl,jhxx) 
    SELECT 
      zylb,clsbzl,clsbmc,xhgg,clfw,zqd,sccj,sbbh,fj,wgzt,tsyq,sybmdm,sybm,sydd,syr,jdfs,jdbm,jdzq,@jdyf,abc,sl,sjsl,'WJ' 
    FROM 
      clsbtz 
    where  
      jdzq='6' 
    and 
      jdyf like '%'+@nowmonth+'%'
    GO 
      

  17.   

    简单方法:insert into 表(字段,字段1...) select 字段,字段1 from 表1 where ...
      

  18.   


    create procedure P_Insert
    as
    begin
        --1,1是对应col4,col5的固定值
         insert into B(col1,col2,col3,col4,col5)
        select col1,col2,1,1 from A where id=2
    end
      

  19.   

    一句就搞定
    insert into 表(字段,字段1...) select 字段,字段1 from 表1 where ...