当我尝试
时select column_name from information_schema.columns where table_name= ('TableA')
它工作正常,但是当我尝试对同一个DB中的选定表执行相同操作时,它不起作用。
select column_name from information_schema.columns where table_name= ('tableA', 'TableB')
答案 0 :(得分:0)
我认为您的查询应该是:select column_name from information_schema.columns where table_name = ('tableA') or table_name = ('TableB')
或select column_name from information_schema.columns where table_name in ('tableA','TableB')
但不确定postgresql是否支持第二个。
答案 1 :(得分:0)
https://www.postgresql.org/docs/current/static/functions-comparisons.html:
表达式IN(值[,...])是表达式=值1或表达式=值2或...
的简写表示法
(强调我的)
所以你可以同时使用
where table_name = ('tableA') or table_name = ('TableB')
正如Gi1ber7所暗示的那样
where table_name in ('tableA','TableB')
如果您想使用=
运算符,请考虑使用ANY(ARRAY)
:
where table_name = ANY(ARRAY['tableA','TableB'])
甚至ANY(子查询):
where table_name = ANY(VALUES ('tableA'),('TableB'))