데이터베이스에 큰 테이블 (Oracle 11g)을 가지고 있는데 여기에 특정 숫자가있는 테이블의 열을 업데이트하고 싶습니다. 이 열의 모든 값에서 prefix
의 값으로 설정하여 업데이트하고 싶습니다.오라클 : 기존 값을 추가하여 데이터row를 업데이트하십시오.
예 (SpecificNumber은 int
이고 PK가 값 1이 Varchar2
하고 있으므로 마지막 열이다)
실제 데이터 (내 SQL 후)
[SpecificNumber] [Value1] [column2gettingupdated]
[1] 123456789 Test text
[2] 123456789102 sth text2
[3] 12233 text test3
미래 데이터 :
은[SpecificNumber] [Value1] [column2gettingupdated]
[1] 123456789 Test PREFIX-text
[2] 123456789102 sth PREFIX-text2
[3] 12233 text PREFIX-test3
그래서 내가 생각한 것 :
Update table
set column2gettingupdated=("prefix"+
(select column2gettingupdated from table where SpecificNumber = '12233')
)
where SpecificNumber = '12233';
하지만 그건 ORA-00904: "p": invalid identifier
오류가 발생합니다. 내가 이것을 시도하는 경우
는 그리고 :
Update table
set column2gettingupdated=("prefix"+
(select column2gettingupdated from table where SpecificNumber = '12233')
)
where SpecificNumber = '12233';
가 나는
ORA-01722: invalid number
오류가 발생합니다.
이것도 가능합니까? 이미 도와 줘서 고마워! 문자열에 대한
'SET column2gettingupdated = CONCAT ("접두어 -"column2gettingupdated)' – Mihai
@Mihai 사실 . 어떻게 든 CONCAT을 잊어 버렸고 항상 mysql 만 생각했습니다. 어쨌든 답으로 게시하면 크레딧을받습니다! (하지만 "with"를 사용하면 "-"잘못된 식별자 오류가 발생합니다.) – DatRid