Обсуждение: Compare the resulta of a count sql into bash

Поиск
Список
Период
Сортировка

Compare the resulta of a count sql into bash

От
manuel antonio ochoa
Дата:
<br />Hello,<br />I have the next :<br /><br />COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor'   -d princlocal -p 5432 -h
192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"`<br />COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor'  
-dprinclocal-p 5432 -h 192.170.1.82  -c "select count(*) from monterrey.$nombre where recibo between '$FI' and
'$FF'"<br/><br />I want to compare the result countone with countwo  how does it works  ? <br /><br /><br /><br />thnks
<br/><br /><br /><br /> 

Re: Compare the resulta of a count sql into bash

От
Josh Kupershmidt
Дата:
On Wed, Jan 26, 2011 at 12:07 PM, manuel antonio ochoa
<manuel8aalfaro@gmail.com> wrote:
>
> Hello,
> I have the next :
>
> COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor'   -d princlocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.${NOMBRETB}"`
> COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor'   -dprinclocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.$nombre where recibo
> between '$FI' and '$FF'"
>
> I want to compare the result countone with countwo  how does it works  ?

It looks to me like COUNTONE and COUNTWO are going to get the strings
returned by psql, i.e. something not terribly helpful like: "count
------- 64 (1 row)". If you were expecting COUNTONE and COUNTWO to
hold exit codes, use the $? variable instead. But the exit code of
psql isn't what you want, either -- psql simply exits with something
like 0 or 1 depending on whether the command(s) succeeded.

Of course, you could cook up some script to parse the text returned by
psql to figure out the rowcounts, but that's a much greater pain than
just implementing whatever you're trying to do in a scripting language
using a PostgreSQL database adapter.

Josh


Re: Compare the resulta of a count sql into bash

От
Scott Marlowe
Дата:
On Wed, Jan 26, 2011 at 10:07 AM, manuel antonio ochoa
<manuel8aalfaro@gmail.com> wrote:
>
> Hello,
> I have the next :
>
> COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor'   -d princlocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.${NOMBRETB}"`
> COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor'   -dprinclocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.$nombre where recibo
> between '$FI' and '$FF'"
>
> I want to compare the result countone with countwo  how does it works  ?

echo $((COUNTONE-COUNTTWO));


Re: Compare the resulta of a count sql into bash

От
Jasen Betts
Дата:
On 2011-01-26, manuel antonio ochoa <manuel8aalfaro@gmail.com> wrote:
> --0015174be152ceb275049ac2dc95
> Content-Type: text/plain; charset=ISO-8859-1
>
> Hello,
> I have the next :
>
> COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor'   -d princlocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.${NOMBRETB}"`
> COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor'   -dprinclocal -p 5432 -h
> 192.170.1.82  -c "select count(*) from monterrey.$nombre where recibo
> between '$FI' and '$FF'"
>
> I want to compare the result countone with countwo  how does it works  ?

you need -t 

COUNTONE=`/var/lib/pgsql/bin/./psql -t -U 'Thor' -d princlocal -p 5432 -h  192.170.1.82  -c "select count(*) from
monterrey.${NOMBRETB}"`
COUNTTWO=`/var/lib/pgsql/bin/./psql -t -U 'Thor' -d princlocal -p 5432 -h 192.170.1.82  -c "select count(*) from
monterrey.$nombrewhere recibo between '$FI' and '$FF'"`
 

or like this:

CONN="user=Thor database=princlocal port=5432 host=192.170.1.82"
PSQL=/var/lib/pgsql/bin/psql
COUNTONE=`$PSQL "$CONN" -t -c "select count(*) from monterrey.${NOMBRETB}"`
COUNTTWO=`$PSQL "$CONN" -t -c "select count(*) from monterrey.$nombre where recibo between '$FI' and '$FF'"`

-- 
⚂⚃ 100% natural