Re: Syntax error in spi_prepare usage - Mailing list pgsql-general

From Alban Hertroys
Subject Re: Syntax error in spi_prepare usage
Date
Msg-id 530C4DC6-8B9D-434F-B882-E2B269246F8A@solfertje.student.utwente.nl
Whole thread Raw
In response to Syntax error in spi_prepare usage  (dipti shah <shahdipti1980@gmail.com>)
Responses Re: Syntax error in spi_prepare usage
List pgsql-general
> If I remove the braces from (\$1, \$2, \$3) then it gives below error.
>
>  my $query = (<<ENDQUERY);
>   INSERT INTO changelogtest(id, txid, txtime)
>   SELECT  \$1, \$2, \$3
>   EXCEPT
>   SELECT (id, txid, txtime)
>   FROM changelogtest
>   WHERE id = \$1
>   AND txid = \$2
>   AND txtime = \$3;
>  ENDQUERY
>
> techdb=# SELECT insert_history_info();
> ERROR:  error from Perl function "insert_history_info": each EXCEPT query must have the same number of columns at
line15. 

Yes of course, your select lists are different. Try:
>  my $query = (<<ENDQUERY);
>   INSERT INTO changelogtest(id, txid, txtime)
>   SELECT  \$1, \$2, \$3
>   EXCEPT
>   SELECT id, txid, txtime
>   FROM changelogtest
>   WHERE id = \$1
>   AND txid = \$2
>   AND txtime = \$3;
>  ENDQUERY

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


!DSPAM:737,4bd3201310412109115467!



pgsql-general by date:

Previous
From: Steve Atkins
Date:
Subject: Re: ISP provider with postgres and perl dbi
Next
From: Oliver Kohll - Mailing Lists
Date:
Subject: Re: Invalid objects