如何将mysql语句转换成mssql语句

jackyzhangxuan 2016-07-27 01:51:55
请问如何将这句mysql语句转换成mssql语句,谢谢!
insert into usecashnow(userid, zoneid, sn, aid, point, cash,status, creatime) values ((select id from users where name='{$username}'), '1', '0', '1','0', {$money}*100, '1',now()) ON DUPLICATE KEY UPDATE cash=cash+{$money}*100;
...全文
323 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-07-27
  • 打赏
  • 举报
回复
merge 用法 参照以下拼语句

;MERGE usecashnow AS T
USING(
SELECT * FROM (VALUES ((select id from users where name='{$username}'), '1', '0', '1','0', {$money}*100, '1',getdate()))S(userid, zoneid, sn, aid, point, cash,status, creatime)
) AS S ON (T.userid=S.userid)--唯一性的列
WHEN MATCHED THEN
UPDATE SET cash=cash+{$money}*100
WHEN NOT MATCHED THEN 
insert (userid, zoneid, sn, aid, point, cash,status, creatime) 
VALUES(S.userid, S.zoneid, S.sn, S.aid, S.point, S.cash,S.status, S.creatime) ;
如果是SQL Server直接在存储过程 处理 可判断存在时更新,不存在时新增
卖水果的net 2016-07-27
  • 打赏
  • 举报
回复


-- 这样的语法
merge into usecashnow t using users u on t.userid = u.id
when matched then
update set zoneid = 1, sn = 0  -- 别的列,自己添加
when not matched then
insert values(u.id,1,0) -- 别的列,自己添加

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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