如果行存在,则从行中选择数据,否则创建行(的数据)。

我遇到了很多关于SQL SELECT IF EXISTS的问题,但我无法准确地整合出我需要的内容。

我要做的是,如果一行数据存在,则从一个表中选择特定的数据,否则使用默认值创建该行,并在一次查询数据库时完成所有操作。

如果行不存在,我能够在数据库中创建该行,如果它存在,则选择该行的数据,但我希望尽可能地将后两者组合在一起。

因此,我想要做到这一点: 1.使用select检查行是否存在,如果存在,则在同一查询中获取数据 2.如果行不存在,则插入行

我希望我能够清楚地解释,感谢所有的帮助,非常感谢!

点赞
用户623041
用户623041

不完全确定这里的问题是什么。在伪代码中,你所需要的全部内容应该是:

qry ← execute("SELECT * FROM table WHERE ... FOR UPDATE")

if numrows(qry) > 0 then
  row ← fetchdata(qry)
else
  execute("INSERT INTO table VALUES (...)")
  row ← ... // 插入的数据
end if

// 使用 row
2013-12-27 11:28:29
用户3081648
用户3081648
如果不存在 (SELECT * FROM ------)
BEGIN
    --在此处插入
END
否则
BEGIN
   -- 在此处选择
END
2013-12-27 11:33:35