| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 1 楼 |
|
如何判断某一记录是否存在? |
如何快速判断某一记录是否存在? 我这样用,不知如何: SELECT COUNT(FFF) FROM TTTT WHERE FFF=XXXX; 然后判断返回值大小。 |
|
|
|
|
|
| cutebit |  |
|
 |
 |
等级: 论坛版主 贴子:502 积分:516 金币:0 注册:2005-10-28 |
|
| 第 2 楼 |
|
|
如果大表又没索引这样性能有些差。 SELECT first 1 1 FROM ATTACHMENT where fff=xxx 这样好点 |
|
|
|
|
|
| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 3 楼 |
|
回复:如何判断某一记录是否存在? |
有道理 确实 这样更快些 |
|
|
|
|
|
| Jimt |  |
|
 |
 |
等级: 三流高手 头衔:霸王 贴子:355 积分:368 金币:0 注册:2007-9-12 |
|
| 第 4 楼 |
|
|
| 另一种方法好象是用 exists 来判断,不知道性能有什么不同,没测试过 |
|
|
|
|
|
| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 5 楼 |
|
|
今天查了查 才弄明白具体怎么用EXISTS() SELECT 1 FROM RDB$DATABASE WHERE EXISTS(SELECT * FROM xxTablexx WHERE ffconditionff ) INTO :iSexists; |
|
|
|
|
|
| Jimt |  |
|
 |
 |
等级: 三流高手 头衔:霸王 贴子:355 积分:368 金币:0 注册:2007-9-12 |
|
| 第 6 楼 |
|
|
| EXISTS(SELECT * FROM xxTablexx WHERE ffconditionff ) 可以作为一个bool变量放到任何地方,跟rdb$什么的关系不大,只是fb的select语句必须有from子句,rdb$就被无辜的牵连了进去…… |
|
|
|
|
|
| sanron |  |
|
 |
 |
等级: 三流高手 贴子:93 积分:121 金币:0 注册:2010-1-4 |
|
| 第 7 楼 |
|
|
那就是说在存储过程中,可以这么用了: :iSexists = EXISTS(SELECT * FROM xxTablexx WHERE ffconditionff ) ; 或者 IF(EXISTS(SELECT * FROM xxTablexx WHERE ffconditionff ) ) THEN XXXXXX 是吧?? |
|
|
|
|
|
| Jimt |  |
|
 |
 |
等级: 三流高手 头衔:霸王 贴子:355 积分:368 金币:0 注册:2007-9-12 |
|
| 第 8 楼 |
|
|
| 是的吧,不过实践是检验真理的唯一标准…… |
|
|
|
|
|