8i|9i|10g|11g|12|13|18c|19c|21c|Misc|PL/SQL|SQL|RAC|WebLogic|Linux

Home”문서”기타”여기

이 여덟 번째 시리즈의 일부 기사를 보여주기의 기초 SQL. 이 기사에서는INSERT문에 대한 몇 가지 변형을 살펴 봅니다.,

  • 설정
  • 커밋 및 롤백
  • 기본 삽입
  • 보기에 삽입
  • 삽입…
  • 스칼라 하위 쿼리

관련 기사를 선택하십시오.

  • SQL 초보자를위한(부 8):INSERT 문
  • SQL-초보자를위한 전체 재생 목록
  • Oracle SQL 사 시작
  • Multitable 삽입

설정

수행할 수 있습니다 모든 이러한 쿼리에는 무료 온라인 SQL 을 사용하여 바이올린.

이 기사의 예제에는 다음 표가 있어야합니다.,

이 테이블은 SCOTT 스키마의 EMP 및 DEPT 테이블의 변형입니다. SCOTT 스키마의 테이블을 사용하여 인터넷에서 많은 Oracle 예제를 볼 수 있습니다. “$ORACLE_HOME/rdbms/admin/utlsampl 에서 원래 테이블 정의를 찾을 수 있습니다.sql”스크립트.

이 글에서,우리는 또한 직원 테이블의 다음 사본이 필요합니다 것입니다. 공지 사항 EMPLOYEE_NAME 및 작업 열을 필수 항목으로 만들었습니다. EMPLOYEE_ID 열은 암시 적으로 필수이며 그 결과 기본 키가됩니다.,

커밋 및 롤백

모든 데이터 조작 언어(DML)변경은 트랜잭션의 일부로 수행됩니다. 그들은COMMIT문을 사용하여 확인 될 때까지 영구적이지 않습니다. 일단 커밋되면 변경 사항을 되돌릴 수있는 유일한 방법은 데이터를 변경하기 위해 새 DML 문을 발행하는 것입니다. 여러 문을 함께 그룹화하여 단일 트랜잭션을 형성 할 수 있습니다.

DDL(Data Definition Language)명령은 암시 적 커밋을 수행하여 현재 세션의 모든 뛰어난 DML 변경 사항을 확인합니다.,커밋되지 않은 변경 사항을 유지하고 싶지 않다고 결정한 경우ROLLBACK문을 사용하여 버릴 수 있습니다. 이 기사의 많은 예제는 테스트 후ROLLBACK문을 발행하여 데이터를 원래 상태로 되돌립니다.

몇 가지 도구와 프로그래밍 언어에 기본적으로 자동하는,그래서 그들은 자동으로 문제를COMMIT문 후 DML 문은 그들이 프로세스. 이것이 이것이 기본 행동이라고 생각하도록 당신을 속이게하지 마십시오. 그것은 아니다.,

기본 삽입

INSERT문의 가장 간단한 버전은 삽입 할 열을 지정하지 않습니다. 값이 올바른 열 순서로 지정되고 열 값이 생략되지 않았다고 가정합니다. 결과적으로 테이블에 열을 추가하면 문이 깨지기 때문에 응용 프로그램 코드에서 위험합니다.

열 목록을 지정하는 것은 선택적 열이 테이블에 추가되면 문이 중단되지 않으므로 훨씬 안전합니다.,

명시 적 열 목록을 사용하면 명령문에서 선택적 열을 제거하고 명령문의 열 위치를 바꿀 수도 있습니다. 다음 예에서 MANAGER_ID,위원회 DEPARTMENT_ID 열이 제거되었습 및 EMPLOYEE_ID 열 이동을 말한 열의 목록과 값의 목록입니다.

열 기본값 또는이를 채우는 트리거가없는 한 필수 열을 누락하는 것은 허용되지 않는다는 것을 기억하십시오. 다음 예제에서는 EMPLOYEES2 테이블의 필수 열인 작업 열이 생략됩니다.,

뷰에 삽입

뷰와 관련된 기본 테이블에 삽입 할 수 있습니다. 이와 관련된 몇 가지 제한 사항이 있지만 초급 수준의 기사에서는 약간 범위를 벗어납니다. 다음 예제에서는 EMPLOYEES2 테이블에 간단한 뷰를 만든 다음 삽입합니다.자주 볼 수는 없지만 인라인 뷰에 삽입 할 수도 있습니다. 이는 명시적 열 목록을 사용하는 것이 아니라 삽입에 대한 열 목록을 제어하는 데 사용될 수 있습니다.

삽입…, 선택

그것을 만들 수 있는 여러 행에서 하나의INSERT을 사용하여 문INSERT ... SELECT문입니다. 다음 예제에서는 직원 테이블의 모든 데이터를 EMPLOYEES2 테이블로 복사합니다.

INSERT문의 열 목록은 쿼리의SELECT목록과 일치해야 합니다.명령문의 쿼리 부분에 일반 규칙이 적용되므로 데이터를 필터링하거나 다른 테이블에 조인하여 데이터를 수집 할 수 있습니다.,

스칼라 하위

스칼라 하위 사용할 수 있는 소스에 대한 값을INSERT문입니다. 아래 예에서 급여 열은 스칼라 하위 쿼리로 채워지며 직원 테이블에서 최대 급여를 반환하고 1000 을 추가합니다.

자세한 내용은 다음을 참조하십시오.