insert into [ flow] ([chip sn],state)select [chip sn],'set up'as statefrom [chip input] where [chip sn] IS NOT NULL AND [take over] = 'done'查资料才知道这只有在sql server 2008里面才能实现,我的数据库是2005.有什么办法实现啊,上万条数据实在不能一句句的插入啊,求大神指导
------解决方案--------------------
没听说不能用,自己检查下语句,我感觉你这语句中间该有的空格都没有
------解决方案--------------------
这语句2005应该是支持的啊,报错?
------解决方案--------------------
2000都支持
statefrom 没空格
------解决方案--------------------
SQL版本都支持这种格式
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
------解决方案--------------------
'set up'as statefrom
这个地方错了吧 FROM前面需要一个空格
------解决方案--------------------
发帖代码不加格式还能被发现空格少掉了,证明大家眼力都
------解决方案--------------------
根据报错信息,提示的是子查询的问题。你检查下是否还有其他语句在同时执行着,触发器...
create table [ flow]
(
[chip sn] nvarchar(10),
state nvarchar(20)
)
create table [chip input]
(
[chip sn] nvarchar(10),
[take over] nvarchar(20)
)
--测试
insert into [chip input] select '11','done'
insert into [chip input] select '','done'
insert into [ flow] ([chip sn],state)
select [chip sn],'set up' as state from [chip input] where [chip sn] IS NOT NULL AND [take over] = 'done'
这个语句执行没有啥错误,注意以后,表和表的字段名最好不要带有空格。
在MS SQL中,处理有空格的表名或者字段名,就是加"[]",这个是今天刚好注意到的问题.希望对你有所帮助!
------解决方案--------------------
insert into [flow] ([chip sn],[state])试试
select [chip sn],'set yp' as [state]
from [chip input] where [chip sn] IS NOT NULL AND [take over] = 'done'