如题:
查询出一个结果集
select 字段1,字段2 from a
现在我要将它插入一张新表,不过新表有三个字段除了从查询的结果集取两个字段外,还有一个固定的变量@sDate 要插入,而且这个字段是主键,@sDate是固定值!
该怎么写?
查询出一个结果集
select 字段1,字段2 from a
现在我要将它插入一张新表,不过新表有三个字段除了从查询的结果集取两个字段外,还有一个固定的变量@sDate 要插入,而且这个字段是主键,@sDate是固定值!
该怎么写?
select 字段1,字段2,@sDate
from a
--你的@sdate如何變化,規則是什麼
--得到是個結果集
--@sdate是一个固定值 ,且該字段是主鍵
--插入表裡只能對應結果集中一筆紀錄,@sdate 對應每條記錄是否遞增?
你舉例說明吧
2008-12-17 字段1 字段2
2008-12-17 字段1 字段2
这是两条记录
declare @sDate char(10)
set @sDate=convert(char(10),getdate(),12)
insert newtable(主键,字段1,字段2)
select @sDate,字段1,字段2 from a
set @sDate=convert(char(10),getdate(),120)
set @sDate=convert(char(10),getdate(),12)
insert newtable(主键,字段1,字段2)
select @sDate,字段1,字段2 from a
这样不能插入重复的@sDate
into #
from adeclare @sDate datetime
set @sDate=getdate()insert newtable(主键,字段1,字段2)
select convert(char(10),@sDate+id,120),字段1,字段2
from #
既然@sdate是一个固定值如:
SQL codeconvert(char(10),getdate(),12)
而且是主键 那么以下的情况主键都重复了根本不行呀!?
@sdate 对应每条记录不递增如:
2008-12-17 字段1 字段2
2008-12-17 字段1 字段2 如果真想这么用?应该把主键值(日期)格式化成2008-12-17 14:05:01这种形式才能确保唯一吧
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
该怎么写?如果这个变量是相同的值,而又是主键是肯定不行的,主键时uniqe的,唯一的。