2016-06-23 4 views
-1

임시 테이블을 사용하여 대상 테이블에 데이터가 채워진 저장 프로 시저가 있습니다.이 모든 계산을 수행합니다. 내가 직면하고있는 문제는 두 개의 다른 열을 연결하여 그 값을 얻는 두 개의 열이 있다는 것입니다. 즉임시 테이블에서 대상 테이블에 계산 된 열을 추가합니다.

concat(status_code|status_reason) as STATUS 
concat(prior_status_code|prior_status_reason) as PRIOR_STATUS 

이제이 연결을 임시 테이블에서 수행했습니다. 대상 테이블에 데이터를로드해야하며 대상 테이블에 STATUS 및 PRIOR_STATUS 열이 없습니다. 데이터를로드하기 위해 난 그래서 그것을 내게 열이 테이블에 존재하지 무효 에러 발생이 부분을 실행할 때

insert into Destination(column_names,Status,prior_status) 

select (column_names) from temporary table 

를 사용하고있다.

P. 나는 목적지에서 그 두 컬럼을 추가하기 위해 alter 명령어를 사용했다. 아직 원하는 결과를 얻지 못했습니다.

이 작업을 수행 할 수있는 다른 방법이 있습니까?이 문제는 어디에서 잘못됩니까? 도와주세요.

미리 감사드립니다.

+1

MySQL의 또는 SQL 서버를? 당신은 둘 다 태그를 달았습니다 ... –

답변

0

필드를 추가하여 사용해보세요. Backquotes에 필드 이름을 입력하는 것이 중요합니다. status는 예약어입니다.

ALTER TABLE youTable 
ADD COLUMN `status` VARCHAR(100), 
ADD COLUMN `PRIOR_STATUS` VARCHAR(100); 

당신은 또한 같은 테이블에있는 필드의 위치를 ​​지정할 수 있습니다

ALTER TABLE youTable 
ADD COLUMN `status` VARCHAR(100) AFTER fieldxx, 
ADD COLUMN `PRIOR_STATUS` VARCHAR(100) BEFORE fieldzz; 
+0

MySQL 또는 MS SQL Server 용입니까? – jarlh

+0

@jarlh - its for mysql –

관련 문제