2013-02-04 3 views
0

내가 ... 꽤 많은 절차에 삽입 문이 아주 이상한 문제에 직면하고 다르게 수행오라클 10g 삽입 쿼리 절차 대 쿼리로 일관 수행하고 수시로

inert 
    into oracle_Table 
    SELECT cr.a AS a,  
      cr.b AS b, 
      cr.c AS c, 
      max(d.column_name) as d 
    FROM "table 1"@Pmo.World Cr, 
      [email protected]  d 
    WHERE d."a" = cr."column name" 
    GROUP BY cr.a, 
       cr.b, 
       cr.c 

@ Pmo.World는 MSSQL에 대한 데이터베이스 링크입니다 ...

지금 당장 가지고있는 문제는이 삽입을 쿼리로 실행할 때마다입니다. 그것이 있어야 내가이 프로 시저에이 삽입을 넣을 때 ... 그러나, 문자 변환 문제에 대해 생각 아무것도 ...

를 삽입하지 않기 때문에 모든 내가 그런 다음이

inert 
into oracle_Table 
SELECT to_char(cr.a) AS a,  
     to_char(cr.b) AS b, 
     to_char(cr.c) AS c, 
     max(d.column_name) as d 
    FROM "table 1"@Pmo.World Cr, 
     [email protected]  d 
WHERE d."a" = cr."column name" 
GROUP BY cr.a, 
      cr.b, 
      cr.c 

하는 절차를 변경 작동 Inser는 절차에서 작동합니다 ...하지만 원래 버전으로 되 돌리는 경우 to_char가 없어 ... 아직 작동 중입니다 ... 그 후에 며칠 동안 계속 실행했습니다 ... 하루에 한 번 실행되기 때문에, 처음 2 일 동안 작동하고 있었고 3 일째 작업을 중단했습니다 ... 소스 테이블을 확인했으며이 절차가 실행될 때마다 소스 테이블이 비어 있지 않았습니다 ... 너무 혼란 스럽습니다 만약 내가 수동으로 쿼리를 삽입을 실행하면, 그것을 실행 때마다 작동 ... 그러나 내가 그것을 절차에 넣으면, 그것은 때때로 작동합니다.

+0

.b'와'cr.c'? 'a','b' 및'c'의 데이터 유형은 무엇입니까? –

+0

항상 커밋하지 않을 수 있습니까? –

+0

내가 삽입 한 내용을 커밋했는데 ...이 내용이 구체화 된보기를 사용하여 해결되었지만 원인을 찾지 못했습니다 ... –

답변

0

a, b, c 유형이 있습니다. VARCHAR2와 나는

declare 
-- Local variables here 
i integer; 
begin 
inert 
into oracle_Table 
SELECT cr.a AS a, 
cr.b AS b, 
cr.c AS c, 
max(d.column_name) as d 
FROM "table 1"@Pmo.World Cr, 
[email protected] d 
WHERE d."a" = cr."column name" 
GROUP BY cr.a, 
cr.b, 
cr.c 
end; 
commit; 

아무것도 삽입하지 얻을 수있는 시험 절차가있는 경우 예를 을 위해 ... 삽입 후 을 마우스 오른쪽 단추를 저지해야합니까 cr.a``의 데이터 유형은`CR을 무엇