Using concatenation operator

Started by Chris Barnesover 15 years ago2 messagesgeneral
Jump to latest
#1Chris Barnes
compuguruchrisbarnes@hotmail.com

I have a (stupid) question regarding using concatenation operator.

I would like to get the list of tables from the database and output the select count(*) for each of them

I don't want the schema name proceeding the select, how can I omit without receiving the error below.

psql eventdb001 -t -c "select schemaname||'select count (*) from '||schemaname||'.'||relname from pg_stat_user_tables where relname like 'table_%'"|more

schemaselect count (*) from event001.table_1
schemaselect count (*) from event001.table_2

When I omit the schemaname from in front of the concatenation operator it gives me this error.

psql database -t -c "select ||'select count (*) from '||schemaname||'.'||relname from pg_stat_user_tables where relname like 'table_%'"|more
ERROR: operator does not exist: || unknown
LINE 1: select ||'select count (*) from '||schemaname||'.'||relname ...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts

Chris.

#2Alban Hertroys
dalroi@solfertje.student.utwente.nl
In reply to: Chris Barnes (#1)
Re: Using concatenation operator

On 17 Aug 2010, at 18:28, Chris Barnes wrote:

psql database -t -c "select ||'select count (*) from '||schemaname||'.'||relname from pg_stat_user_tables where relname like 'table_%'"|more
ERROR: operator does not exist: || unknown
LINE 1: select ||'select count (*) from '||schemaname||'.'||relname ....
^
HINT: No operator matches the given name and argument type(s).
You might need to add explicit type casts

There's nothing before the first concat operator ;)

Alban Hertroys

--
Screwing up is an excellent way to attach something to the ceiling.

!DSPAM:737,4c6ac41b967634613617124!