where附件有语法错误!

dydxf 2010-06-07 07:27:42
insert into WAGE(workerId,moneyOfDay,workTimes,reduce,total,productDay,remark,isPayed)
values (83,2100,1,0,2100,2010/6/11,'000000',0)
where not exists(select 1 from WAGE where workerId=83 and
CONVERT(varchar(7),productDay,111)=CONVERT(varchar(7),'2010/6/11',111))

这句话错在哪里了?
谢谢!
...全文
99 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csmark 2010-06-07
  • 打赏
  • 举报
回复
应该是insert into wage select ...from ... where.
htl258_Tony 2010-06-07
  • 打赏
  • 举报
回复
INSERT INTO WAGE( workerId, moneyOfDay, workTimes, reduce, total, productDay, remark, isPayed )
SELECT 83, 2100, 1, 0, 2100, 2010/6/11, '000000', 0
WHERE NOT EXISTS(
SELECT 1
FROM WAGE
WHERE workerId = 83
AND CONVERT(VARCHAR(7), productDay, 111) = CONVERT(VARCHAR(7), '2010/6/11', 111)
)
按照你的意思,可改为这样。
caixia615 2010-06-07
  • 打赏
  • 举报
回复
insert into WAGE(workerId,moneyOfDay,workTimes,reduce,total,productDay,remark,isPayed)
values (83,2100,1,0,2100,2010/6/11,'000000',0)
where not exists(select 1 from WAGE where workerId=83 and
CONVERT(varchar(7),productDay,111)=CONVERT(varchar(7),'2010/6/11',111))

WHERE 条件应该加在 FROM TABLENAME 后面
你这是直接插入语句不需要加条件
VSNET源码整理 2010-06-07
  • 打赏
  • 举报
回复
楼上的正解
Mr_Nice 2010-06-07
  • 打赏
  • 举报
回复
insert into WAGE(workerId,moneyOfDay,workTimes,reduce,total,productDay,remark,isPayed)  
values (83,2100,1,0,2100,2010/6/11,'000000',0)


已经足够了阿?

where not exists(select 1 from WAGE where workerId=83 and
CONVERT(varchar(7),productDay,111)=CONVERT(varchar(7),'2010/6/11',111))

如果是条件的话

IF not exists(select 1 from WAGE where workerId=83 and  
CONVERT(varchar(7),productDay,111)=CONVERT(varchar(7),'2010/6/11',111))
begin
insert into WAGE(workerId,moneyOfDay,workTimes,reduce,total,productDay,remark,isPayed)
values (83,2100,1,0,2100,2010/6/11,'000000',0)

end

34,593

社区成员

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

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