检查postgresql中是否存在行
我在SO中看到过很多关于这方面的帖子。但我无法得到答案。 我希望通过查询检查表中是否存在特定行。如果它存在,它应该返回一个字符串true并停止搜索,如果不存在,则返回false。检查postgresql中是否存在行,postgresql,Postgresql,我在SO中看到过很多关于这方面的帖子。但我无法得到答案。 我希望通过查询检查表中是否存在特定行。如果它存在,它应该返回一个字符串true并停止搜索,如果不存在,则返回false。 -- EXPLAIN ANALYZE WITH magic AS ( WITH lousy AS ( SELECT * FROM one WHERE num = -1) SELECT 'True'::text AS truth WHERE EXISTS (SELECT
-- EXPLAIN ANALYZE
WITH magic AS (
WITH lousy AS ( SELECT * FROM one WHERE num = -1)
SELECT 'True'::text AS truth
WHERE EXISTS (SELECT * FROM lousy)
UNION ALL
SELECT 'False'::text AS truth
WHERE NOT EXISTS (SELECT * FROM lousy)
)
SELECT *
FROM magic
;
但最好只返回布尔值而不是字符串:
select exists (select true from table_name where table_column=?);
你试过什么?如何指定行?按rowid还是按所有属性的值?它必须是一个查询,还是一个PL/SQL函数也可以接受?它的目的是作为一个扰流器。这篇文章绝对是家庭作业,没有表现出任何努力。即使对我来说,你写的也是胡言乱语。您不会提供一个故意混淆的示例,该示例是有效的,但有价值的。例如,您可以指向
案例
和存在
的文档,因为它只对知道要查找什么的人有用。它确实有效,并产生正确的结果。让OP向他的老师解释一下。他可以查到case的语法,也可以自己存在。或者对于CTE。-1除了OP之外的其他人阅读了这个答案,试图解决他们自己的类似问题。请注意OP没有表现出任何努力。这只是一个GimmetEcodez问题,任何精通SQL的人都可以回答这个问题(可能有更多的方法达到相同的目标,而不仅仅是这两个答案)
select exists (select true from table_name where table_column=?);