2013-10-11 1 views
1

나는 펄 DBI와 DBD::Pg 모듈을 통해 AWS의 적색 편이를 액세스, 그리고 난 SQL 바인드 변수를 몇 가지 문제가 있습니다. 내가 먼저 SQL 문을 (변수의 자리에 ?)로 준비를 호출 한 후 나는 ?에 매핑 할 필요가있는 변수 배열을 실행 호출하지만이 작동하지 않습니다. 단순히 "구문 오류"가 발생합니다.합니까 적색 편이 PostgreSQL은 바인드 변수를 지원합니까?

필자는이 바인드 변수가 드라이버와 데이터베이스 자체에서 지원되어야하므로 드라이버 나 RedShift의 문제인지는 확실하지 않지만 필자의 이해 (바인드 변수 지원 드라이버 및 기본 데이터베이스에 따라 다름)가 올바른지 확인하십시오. 누군가가 명확히 할 수 있다면, 좋을 것입니다.

답변

2

준비된 문은 지원되지만 매개 변수에 대한 올바른 표기법부터 $ 1, $ 2, ...

Redshift Developer Guide : 매개 변수를 취할 수

준비된 문 : 값들에 을 대입 명령문이 실행될 때. 실행하면 준비된 문에서 매개 변수를 포함하는, 표기 $ 1, $ 2, ... 사용 위치로 파라미터 참조 자체를 제조 할 수있는 문에, 문을 준비, 데이터 형식의리스트를 제공하고, 문이의 에서 이러한 매개 변수 EXECUTE 문에 대한 실제 값을 지정합니다.