用insert into插入select结果时如需固定值怎么办

lzfxpuugv 2005-07-17 01:25:27
用insert into 表1(列1,列2..) select 列1,列2... from 表2
现在表1中有些字段是固定值,也就是说,某些字段的值不是来自select查询结果,而是我指定的

这条语句要怎么写啊,各位,请教了
...全文
2174 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Well 2005-07-18
  • 打赏
  • 举报
回复
declare @Value varcahr(50)
declare @SQLString varchar(200)
set @SQLString ='insert into ToTable(a,b) select a,'''+@Value+''' from FromTable'
exec (@SQLString)
Well 2005-07-18
  • 打赏
  • 举报
回复
可以用動態語句
tmdbcd0630 2005-07-18
  • 打赏
  • 举报
回复
那就用个存储过程把.
create proc
as
declare @mystart int
declare @myend int
set @mystart=1 '开始的数值
set @myend=100 '结束的数值
while @mystart<@myend
begin
insert into ToTable(a,b) select a,@mystart from FromTable
set @mystart=@mystart+1
end
GO
当然也可以根据情况把INT的参数变成VARCHAR或者其他...如果是离散的没有规律的变量比如'111','abcd','3sd',这种存储过程就不好用了,我的做法是写个ASP或者其他程序,用COMMAND对象传个参数给存储过程插入.没想到什么好办法.


lzfxpuugv 2005-07-18
  • 打赏
  • 举报
回复
如果是个变量怎么办,变量放在常量那个位置老是出错啊
lzfxpuugv 2005-07-18
  • 打赏
  • 举报
回复
我真是笨啊,如果是变量的话,在常量的位置做一个字符串连接就OK了~~~~~~~~~~~~~~~~
lzfxpuugv 2005-07-18
  • 打赏
  • 举报
回复
我的数据库是access,听说是不支持存储过程的,拜托啦
其中某个字段的值都为一个变量的值,要怎么写啊
解决了就结贴了
vivianfdlpw 2005-07-18
  • 打赏
  • 举报
回复
vb(script)中的now()与SQL Server中的getdate()对应:

insert into 表1(列1,列2..) select getdate(),列2... from 表2
MorningTea 2005-07-18
  • 打赏
  • 举报
回复
前面那段话不是,不好意思,忘记删除~
MorningTea 2005-07-18
  • 打赏
  • 举报
回复
如果是把Student_Info的sid全部插入,然后@term , itemID一样(同样一个学期,一个科目)
那么可以这样:
CREATE PROCEDURE [dbo].[test]
@aa char(10),
@bb int
AS
declare @sql as varchar(100)
set @sql ='INSERT INTO 表1(column1,column2,column3,column4) select column1,column2, ''' + @aa + ''' ,'+ convert(varchar(10,@bb) + ' FROM 表2'
execute(@SQL)
go
GRLD8888 2005-07-18
  • 打赏
  • 举报
回复
declare @a int
set @a=1
begin
insert 表1(column1,column1) select @a,columnvalue from 表2
end
Well 2005-07-17
  • 打赏
  • 举报
回复
insert into ToTable(a,b) select a,'333' from FromTable
lzfxpuugv 2005-07-17
  • 打赏
  • 举报
回复
这样真的可以吗?
那固定值可以通过函数返回吗?比如now()
WangZWang 2005-07-17
  • 打赏
  • 举报
回复
如:
insert into 表1(列1,列2..)
select 999,列2... from 表2

直接select 指定对应列,如上列1被指定为常整数999

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧