2016-07-13 9 views
0

테이블의 행을 통해 실행되는 간단한 SQL 함수를 가져와 열 정보를 표시 할 수 없습니다. 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

정수가 범위를 벗어납니다. 어떤 단서? – Noobie

+0

@PanvelStehule. timestamp 컬럼은 'bigint' 데이터 타입입니다. – Noobie