在写入表中数据时选择是用insert into 还是用update时的问题

liangqingchao 2012-11-05 10:59:24
当我需要往表中写入一条数据时候
选择使用insert into语句还是用update语句的时候
如:
if exists (select Age from Tab1 where name="张三")
begin
update Tab1 set Age= 25 where name="张三"
end
else
begin
insert into Tab1(Age) select "张三"
end

其中在编译的时候提示error C2061: syntax error : identifier 'exists'这个错误。
怎样解决?

求大神指导!!!谢谢!!!八百里加急 急急急

...全文
582 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiweiru 2012-11-06
  • 打赏
  • 举报
回复
另外你那个判断是否存在的那个括号中的部分是一条Sql语句,这肯定是不正确的,再找找相关的资料吧
daiweiru 2012-11-06
  • 打赏
  • 举报
回复
如果你是想插入一条表中没有的数据,就用insert into,如果说你表中存在了这样的数据,你只是想更改其中的某一项,那就用update,它们的功能是不同的
ok1234567 2012-11-06
  • 打赏
  • 举报
回复
在数据库中写个存储过程 然后在c语言中调用(call)这个存储过程
liangqingchao 2012-11-05
  • 打赏
  • 举报
回复
引用 3 楼 ndy_w 的回复:
做个存储过程,在C++中用ADO之类技术执行SQL的CALL
我还想知道。我这个表Tab1中 name字段有内容张三。Age字段为空。我可以直接update不insert into可以吗?
ndy_w 2012-11-05
  • 打赏
  • 举报
回复
做个存储过程,在C++中用ADO之类技术执行SQL的CALL
liangqingchao 2012-11-05
  • 打赏
  • 举报
回复
引用 1 楼 ndy_w 的回复:
晕!你这个不是C语言是SQL,不能用C编译器来编译的。
那我怎么才能在我程序中使用这个功能呢???求解答
ndy_w 2012-11-05
  • 打赏
  • 举报
回复
晕!你这个不是C语言是SQL,不能用C编译器来编译的。
ndy_w 2012-11-05
  • 打赏
  • 举报
回复
update和insert不同。update修改已有记录,而insert会增加一条新的记录。

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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