우리는 이번 주에 회사에서 SQL 스크립트 작성 방법에 대해 토론했습니다.
배경 : 데이터베이스는 Oracle 10g입니다 (곧 11로 업그레이드). DBA 팀은 스크립트를 프로덕션에 배포하기 위해 SQLPlus를 사용합니다.
이제 세미콜론과 슬래시 ( /
)를 모두 사용했기 때문에 최근 배포에 실패했습니다 . 세미콜론은 각 문장의 끝에 있었고 슬래시는 문장 사이에있었습니다.
alter table foo.bar drop constraint bar1;
/
alter table foo.can drop constraint can1;
/
스크립트에서 나중에 추가 된 트리거, 일부 뷰 및 일부 저장 프로 시저가 추가되었습니다. ;
및 /
문 을 모두 사용하면 각 문이 두 번 실행되어 오류가 발생했습니다 (특히 고유 한 삽입에서).
SQL Developer에서는 이런 일이 발생하지 않으며 TOAD에서는 이런 일이 발생하지 않습니다. 특정 명령을 실행하면 명령이 없으면 작동하지 않습니다 /
.
PL / SQL에서 서브 프로그램 (DECLARE, BEGIN, END)이있는 경우 사용 된 세미콜론은 서브 프로그램의 일부로 간주되므로 슬래시를 사용해야합니다.
내 질문은 이것입니다 : 데이터베이스가 Oracle 인 경우 SQL 스크립트를 작성하는 올바른 방법은 무엇입니까? DB가 Oracle이라는 것을 알고 있으므로 항상 /
?
sqlterminator
에 !
당신이 좋아하는 경우)이 규칙은 다른 도구 다음되는 경향이있다. 그러나 PL / SQL 언어는 세미콜론을 필수 구문 요소로 사용합니다.