2016-07-13 3 views
0

Я не могу получить простую функцию SQL, которая выполняется над строками таблиц и отображает ее в колонке info. Вот как выглядит функция SQL.Невозможно запустить SQL-функцию

CREATE OR REPLACE FUNCTION iterators() RETURNS Void AS $$ 
DECLARE 
    t2_row call_records%ROWTYPE; 
BEGIN 
    FOR t2_row IN (SELECT timestamp,plain_crn INTO call_records limit 2) 
    LOOP 
    RAISE NOTICE t2_row.timestamp; 
    END LOOP 
END 
$$ LANGUAGE plpgsql; 

Но я получаю следующее сообщение об ошибке

ERROR: syntax error at or near "t2_row" 
LINE 7:  RAISE NOTICE t2_row.timestamp; 

Я не уверен, что это возможно ошибка синтаксиса кода имеет? Возможно ли получить более подробный журнал ошибок или узнать, что такое синтаксическая ошибка в коде, которую я должен исправить.

ответ

2

Ведомость RAISE требует форматирования строки. Это должно быть тривиально, но должно быть там.

RAISE NOTICE '%', t2_row.timestamp; 
+0

@Panvel Вправо? Просто нашел. – Noobie

+0

Теперь я получаю Integer вне диапазона. Любая подсказка? – Noobie

+0

@PanvelStehule. Столбец timestamp - это тип данных «bigint». – Noobie

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