>php教程 >PHP开发 >Oracle의 이스케이프 문자에 대한 자세한 소개

Oracle의 이스케이프 문자에 대한 자세한 소개

高洛峰
高洛峰원래의
2017-01-06 11:41:041529검색

최근 직장에서 Oracle 데이터베이스에 있는 모든 테이블의 "플래그" 필드를 "I"로 업데이트해야 하는 요구 사항이 발생했습니다.

update table_name set flag = 'I'

"I"는 문자열로 사용되므로 구문에서 I를 작은따옴표로 묶어야 합니다.

데이터베이스에 여러 개의 테이블이 있기 때문에, SQL 문을 통해 모든 문을 직접 생성할 수 있기를 바라서 다음과 같은 SQL을 작성했습니다.

select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables

이때 실행하면 "오류 보고서: ORA-00923: 필수 FROM 키워드를 찾을 수 없습니다." 오류 위치는 두 번째 싱글에 있습니다. 작은 따옴표 매칭 관계로 인해 'I'의 따옴표 위치. , I는 문자열이 아니어서 오류가 보고되는데 작은 따옴표를 표시하려면 어떻게 해야 하나요?

명령문:

select ''' from dual

도 오류를 보고합니다. "'"를 표시해야 하는 경우 "'"가 키워드로 사용됩니다. , Java의 ""와 마찬가지로 이스케이프 문자를 사용해야 합니다. 그리고 의미 문자는 작은따옴표 "'"이므로 SQL은 다음과 같이 작성해야 합니다.

select '''' from dual

두 번째 작은따옴표 "'"를 어떻게 이해하나요? 그냥 ""로 바꾸면 필요한 SQL은 다음과 같습니다.

select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables

괜찮습니다!

요약

위 내용은 모두 오라클 탈출 문자에 관한 내용입니다. 궁금한 점이 있으면 메시지를 남겨서 소통하세요.

더 많은 Oracle 전송에 대한 자세한 내용은 PHP 중국어 웹사이트를 참고하세요

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.