如题:
    查询出一个结果集 
select 字段1,字段2 from a
现在我要将它插入一张新表,不过新表有三个字段除了从查询的结果集取两个字段外,还有一个固定的变量@sDate 要插入,而且这个字段是主键,@sDate是固定值!
该怎么写?

解决方案 »

  1.   

    insert newtable(字段1,字段2,主键)
    select 字段1,字段2,@sDate
    from a
      

  2.   

    insert tb(col1,col2,col3) select col1,col2,@Sdate from ta
    --你的@sdate如何變化,規則是什麼
      

  3.   

    @sdate是一个固定值如:convert(char(10),getdate(),12)而且是主键
      

  4.   

    select 字段1,字段2 from a
    --得到是個結果集
    --@sdate是一个固定值 ,且該字段是主鍵
    --插入表裡只能對應結果集中一筆紀錄,@sdate 對應每條記錄是否遞增?
    你舉例說明吧
      

  5.   

    @sdate 对应每条记录不递增如:
    2008-12-17  字段1 字段2
    2008-12-17  字段1 字段2
    这是两条记录
      

  6.   

    这样就行了,没什么可优化的。
    declare @sDate char(10)
    set @sDate=convert(char(10),getdate(),12)
    insert newtable(主键,字段1,字段2)
    select @sDate,字段1,字段2 from a
      

  7.   

    不行来个 declare  @tb table (.....)
      

  8.   

    应该是:
    set @sDate=convert(char(10),getdate(),120)
      

  9.   

    @sDate变量插入的字段是主键declare @sDate char(10)
    set @sDate=convert(char(10),getdate(),12)
    insert newtable(主键,字段1,字段2)
    select @sDate,字段1,字段2 from a
    这样不能插入重复的@sDate
      

  10.   

    select id=identity(int,0,1),字段1,字段2 
    into #
    from adeclare @sDate datetime
    set @sDate=getdate()insert newtable(主键,字段1,字段2)
    select convert(char(10),@sDate+id,120),字段1,字段2
    from #
      

  11.   

     程序里面调用的时候再将它还原过去吗?我要用插入前的变量@sData
      

  12.   

    LZ的这个问题问得有问题吧?
    既然@sdate是一个固定值如: 
    SQL codeconvert(char(10),getdate(),12) 
    而且是主键 那么以下的情况主键都重复了根本不行呀!?
    @sdate 对应每条记录不递增如: 
    2008-12-17  字段1 字段2 
    2008-12-17  字段1 字段2 如果真想这么用?应该把主键值(日期)格式化成2008-12-17 14:05:01这种形式才能确保唯一吧
     
      

  13.   

    declare @sdate varchar(50)
    set @sdate = (
    select cast(year(getdate()) as varchar(4)) + '-' + 
    cast(month(getdate()) as varchar(2)) + '-' + 
    cast(day(getdate()) as varchar(2)) + ' ' + 
    cast(DATENAME(hour,getdate()) as varchar(2)) + ':' +
    cast(DATENAME(minute,getdate()) as varchar(2)) + ':' +
    cast(DATENAME(second,getdate()) as varchar(2))
    )
    select @sdate
      

  14.   

    现在我要将它插入一张新表,不过新表有三个字段除了从查询的结果集取两个字段外,还有一个固定的变量@sDate 要插入,而且这个字段是主键,@sDate是固定值!
    该怎么写?如果这个变量是相同的值,而又是主键是肯定不行的,主键时uniqe的,唯一的。