> 데이터 베이스 > Oracle > 오라클에서 업데이트 사용법은 무엇입니까?

오라클에서 업데이트 사용법은 무엇입니까?

WBOY
풀어 주다: 2022-03-01 17:10:53
원래의
29977명이 탐색했습니다.

oracle의 업데이트 사용법: 1. 테이블의 데이터를 수정하는 데 사용되며 구문은 "UPDATE 테이블 이름 SET 열 이름 = 새 값 WHERE 열 이름 = 특정 값"입니다. 2. 두 개를 연결하여 테이블을 만드는 데 사용됩니다. 테이블 보기 및 업데이트.

오라클에서 업데이트 사용법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

oracle에서 업데이트의 사용법은 무엇입니까? 표준 업데이트 문 외에도 Oracle은 다양한 애플리케이션 시나리오를 처리하기 위해 몇 가지 다른 데이터 업데이트 방법도 제공합니다.

update_statement ::=
UPDATE {table_reference | [THE] (subquery1)} [alias]
 SET {
        column_name = {sql_expression | (subquery2)}
      | (column_name [,column_name]...) = (subquery3)} 
        [,{column_name = {sql_expression | (subquery2)}
      | (column_name [,column_name]...) = (subquery3)
     }]...
 [WHERE {search_condition | CURRENT_OF cursor_name}] [returning_clause]
로그인 후 복사

표준 업데이트

Update 문은 테이블 데이터를 수정하는 데 사용됩니다. . W3school의 구문:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值。
로그인 후 복사

update Join View

update Join View는 먼저 두 테이블을 연결하여 뷰를 만든 다음 소스 테이블 업데이트 목적을 달성하기 위해 뷰를 업데이트하는 것입니다.

update (select bonus
          from employee_bonus b
         inner join employees e on b.employee_id = e.employee_id
         where e.bonus_eligible = 'N') t
   set t.bonus = 0
로그인 후 복사

위의 원칙과 마찬가지로 마찬가지로 괄호 안에 있는 것은 뷰이고 세트에 있는 것은 업데이트해야 하는 필드입니다. 이 방법은 직접적이고 효율적이지만 직원 테이블의 기본 키가 표시되어야 한다는 점에서 매우 제한적입니다. where 조건을 사용하지 않으면 오류가 보고됩니다. ORA-01779: 키 값이 저장되지 않은 테이블에 해당하는 열은 수정할 수 없습니다.

merge into

merge into는 Oracle의 고유한 구문입니다.

MERGE INTO table_name alias1
USING (table | view | sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
  UPDATE table_name SET col1 = col_val1,col2 = col2_val
WHEN NOT MATCHED THEN
  INSERT (column_list) VALUES (column_values);
로그인 후 복사

alias2에서 선택한 데이터를 alias1의 ON(조인 조건)과 비교하여 일치하면 업데이트되는 작업입니다. , 일치하는 항목이 없으면 삽입 작업(Insert)을 수행합니다.

@H_301_73@Cursor 방법

커서에는 표시 커서와 빠른 커서가 포함됩니다.

Fast Cursor

begin
for cur in (table|subquery) loop
    update_statement
end loop; 
end;
로그인 후 복사

Display Cursor

SET SERVEROUTPUT ON  
DECLARE  
  CURSOR emp_cursor IS   
  SELECT empno,ename FROM emp;  
BEGIN  
FOR Emp_record IN emp_cursor LOOP     
     update_statement;  
END LOOP;  
END;
로그인 후 복사

for 루프는 배치 데이터를 업데이트하는 방법과 Oracle의 rowid 물리적 필드를 제공합니다(Oracle에는 기본적으로 각 테이블에 대한 rowid 필드가 있습니다. 고유 인덱스), 업데이트할 레코드를 빠르게 찾을 수 있고 복잡한 쿼리 문을 지원할 수 있습니다.

추천 튜토리얼: "

Oracle Video Tutorial

"

위 내용은 오라클에서 업데이트 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿