2013-03-25 2 views
-1

vertica 데이터베이스 테이블에서 insert 문을 내보내려고합니다. 삽입 문을 생성하는 쿼리를 만들려고하지만 구문 문제가 발생합니다. Vertica에서 아래의 내용을 어떻게 할 수 있습니까?vertica에서 열을 연결해도 작동하지 않습니다.

select "insert into owner.target_tbl values (" ||"'"||a.Head_id||"',"||"'"||a.creation_dt||"',"||"'"||a.section"'"||");" as Query_column 
from source_tbl a 
+0

생성 된 삽입 문이 작동하지 않거나 명령문 생성 자체가 작동하지 않는 문제가 있습니까? Vertica 내보내기에서 무엇을 삽입하고 있습니까? 네티즌 태그가 있습니다. NZ라면 행 단위로 삽입하면 안됩니다. –

+1

"* 나는 구문 문제를 경험하고 있습니다 *"는 ** Vertica의 유효한 오류 메시지가 아닙니다. 정확한 오류 메시지와 쿼리의 결과 인 SQL 문을 게시하십시오. –

답변

3

를 사용하여 작은 따옴표없는 따옴표 : 당신은 큰 따옴표로 이름을 인용하는 경우

 
=> select "foo" || "bar" from dual; 
ERROR: column "foo" does not exist 
=> select 'foo' || 'bar' from dual; 
?column? 
---------- 
foobar 
(1 row) 
4

는, Vertica의는 귀하의 경우 오류로 이어질 것입니다 열이라고 생각한다. 당신이 당신의 단일 인용 문자열 안에 작은 따옴표가 필요하면

  • , 그냥 (배 작은 따옴표가 아니라 그것을 두 배로 당신의 문자열 주위

    • 사용 따옴표 :

      이 솔루션은하는 것 큰 따옴표) :

      select 'insert into owner.target_tbl values (' ||'''' || 'a string' ||''', ' || 2 ||');' as Query_column; 
      
              Query_column      
      ------------------------------------------------------ 
      insert into owner.target_tbl values ('a string', 2); 
      (1 row) 
      
  • 1

    조언 : 당신이 인수 중 하나가 concatenatio 할 경우 가능한 널 values-을 마무리 할 경우 추가 확인 시퀀스가 null이면 결과는 null이됩니다.

    +0

    null 값을 어떻게 처리 할 수 ​​있습니까? –