2015-04-23 3 views
0

У меня есть функция в Jaspersoft, с помощью которого я называю его Postgres функция как:Как вызвать функцию в Postgres

SELECT * FROM getethnicityanalysisreportdata($P{site_name}) where $X{IN, sitename} 

А теперь я использую:

select getethnicityanalysisreportdata("site_name"); 

в postgres для тестирования. Но он не работает. Может ли кто-нибудь мне помочь?

+0

«он не работает». Сообщение об ошибке ...? –

+0

ошибка: «имя_сайта» не существует –

+0

Если, может быть, вы действительно старинная версия PostgreSQL, это не полное сообщение об ошибке. Всегда показывайте полное точное сообщение об ошибке. Но в любом случае, мне достаточно заметить, что случилось. –

ответ

0

SQL-литералы имеют одинарные кавычки. Идентификаторы SQL имеют двойные кавычки.

Там нет столбца или таблица с именем site_name, следовательно, ошибка, которая была на самом деле:

regress=> select getethnicityanalysisreportdata("site_name"); 
ERROR: column "site_name" does not exist 
LINE 1: select getethnicityanalysisreportdata("site_name"); 

Вы должны использовать одинарные кавычки, если вы хотите символьной строки:

select getethnicityanalysisreportdata('site_name'); 

См the manual.

1

Вы должны позвонить функционировать следующим образом:

select "getethnicityanalysisreportdata"('site_name'); 

Поместите свое имя функции в двойные кавычки. Это определенно сработает.

Смежные вопросы