데이터 베이스 MySQL 튜토리얼 Oracle insert的扩展

Oracle insert的扩展

Jun 07, 2016 pm 05:59 PM
ins insert oracle 확장하다

向一个表发散弹枪: ⑴ insert into table_name [(column[,column...])] select_statement 每次只能插入一个表,但性能上比写多条insert语句要高。另外,Oracle还提供create table table_name as select ...,as不可少!实现直接创建并且插入表,依赖于后面的s

向一个表发散弹枪:
⑴ insert into table_name [(column[,column...])] select_statement
每次只能插入一个表,但性能上比写多条insert语句要高。另外,Oracle还提供create table table_name as select ...,as不可少!实现直接创建并且插入表,依赖于后面的select语句的结果,如:create table new_table as select * from source_table where 1=0
-


案例:
表mxt新增一列time,那么这个列会被置在最后,现想把此列放于第2
create table copy_mxt as select id,time,name from mxt;
drop table mxt;
rname copy_mxt to mxt;

向多个表发散弹枪:

类型:
            ① 无条件的insert
            ② 带条件的insert all
            ③ 带条件的insert first
            ④ pivoting insert

多表insert的使用限制:
            ① 只能对table使用insert,不能对视图或物化视图使用
            ② 不能对远程表使用这个插入操作
            ③ 多表插入时,不能指定一个表的集操作
            ④ 多表insert的into的目标表加在一起的列数不能超过999

㈠ 无条件的insert
             语法:
             insert all
             into dest_table1 [column(,column...)] [values (...)]
             into dest_table2 [column(,column...)] [values (...)]
             ...
             select_statement  --values中指定是select结果列,如果没有values指定列,那么表示目标表的列类型和顺序与select语句查询的结果完全一致。建议不要省略目标表中的列和values,增强可读性。

例子:

1.create table emp_1 as select employee_id,last_name from employees where 1=0;  
2.create table emp_2 as select * from employees where 1=0;  
3.create table emp_3 as select * from employees where 1=0;  
4.insert all  
5.--不指定emp_1后面的列,也没有values指定列,那么emp_1所有列类型和顺序与查询的列的类型和顺序一致   
6.--也就是emp_1中只有查询结果中的那几列,而且类型和顺序一致   
7.  into emp_1  
8.--指定了emp_2后面的列,但没有values指定列,表示emp_2中要插入的列被选择出来,与查询结果列的类型和顺序一致   
9.--emp_2也有很多列,不止这两列   
10.  into emp_2(employee_id,last_name)  
11.--指定emp_3后面的列和values指定列,那么values后面的列名必须与查询结果一致,如果查询有别名,必须在values中使用别名   
12.--emp_3指定的列的类型和顺序必须与values保持一致   
13.--emp_3也可能列数大于指定列数   
14.  into emp_3(employee_id,last_name) values(e_id,e_last_name)  
15.  select employee_id e_id,last_name e_last_name   
16.   from employees 
语法:
             insert all
             when condition_statement
             then into dest_table1[指定列] values[查询中的列]
             when condition_statement
             then into dest_table2[指定列] values[查询中的列]
             select_statement
             注释:带条件的insert all与insert first的区别在于只按条件对查询的结果进行刷选,不会考虑前面已经匹配过的记录,每次都是全量匹配,而insert first对已经匹配过的记录不予考虑,下一个when会自动过滤掉上一个匹配过的行记录
             例子:
1.insert all 
2.  --将查询结果s_id>20的插入,条件中指定的列必须与查询结果名字一致,如果有别名,请用别名   3.  when e_id>20  4.    then into emp_1  5.  --s_last_name为M开头的插入,可能插入的行与s_id有重复   6.  when e_last_name like 'M%'  7.    then into emp_2(employee_id,last_name)  8.  --如果指定else,则不满足上面条件的插入到emp_3,插入的行不会与上面两个重复   9.  else  10.    into emp_3(employee_id,last_name) values(e_id,e_last_name)  11.  select employee_id e_id,last_name e_last_name  12.    from employees  
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Oracle 데이터베이스 로그는 얼마나 오래 보관됩니까? Oracle 데이터베이스 로그는 얼마나 오래 보관됩니까? May 10, 2024 am 03:27 AM

Oracle 데이터베이스 로그의 보존 기간은 다음을 포함한 로그 유형 및 구성에 따라 다릅니다. 재실행 로그: "LOG_ARCHIVE_DEST" 매개변수로 구성된 최대 크기에 의해 결정됩니다. 보관된 리두 로그: "DB_RECOVERY_FILE_DEST_SIZE" 매개변수로 구성된 최대 크기에 따라 결정됩니다. 온라인 리두 로그: 보관되지 않고 데이터베이스를 다시 시작하면 손실되며 보존 기간은 인스턴스 실행 시간과 일치합니다. 감사 로그: "AUDIT_TRAIL" 매개변수로 구성되며 기본적으로 30일 동안 보관됩니다.

오라클에서 두 날짜 사이의 일수를 계산하는 함수 오라클에서 두 날짜 사이의 일수를 계산하는 함수 May 08, 2024 pm 07:45 PM

두 날짜 사이의 일수를 계산하는 Oracle의 함수는 DATEDIFF()입니다. 구체적인 사용법은 다음과 같습니다. 시간 간격 단위 지정: 간격(예: 일, 월, 연도) 두 날짜 값 지정: date1 및 date2DATEDIFF(interval, date1, date2) 일 차이를 반환합니다.

Oracle 데이터베이스 시작 단계의 순서는 다음과 같습니다. Oracle 데이터베이스 시작 단계의 순서는 다음과 같습니다. May 10, 2024 am 01:48 AM

Oracle 데이터베이스 시작 순서는 다음과 같습니다. 1. 전제 조건을 확인합니다. 3. 데이터베이스 인스턴스를 시작합니다. 5. 데이터베이스에 연결합니다. . 서비스를 활성화합니다(필요한 경우). 8. 연결을 테스트합니다.

오라클에서 간격을 사용하는 방법 오라클에서 간격을 사용하는 방법 May 08, 2024 pm 07:54 PM

Oracle의 INTERVAL 데이터 유형은 시간 간격을 나타내는 데 사용됩니다. 구문은 INTERVAL <precision> <unit>입니다. INTERVAL을 연산하기 위해 덧셈, 뺄셈, 곱셈 및 나눗셈 연산을 사용할 수 있으며 이는 시간 데이터 저장과 같은 시나리오에 적합합니다. 날짜 차이를 계산합니다.

오라클에는 얼마나 많은 메모리가 필요합니까? 오라클에는 얼마나 많은 메모리가 필요합니까? May 10, 2024 am 04:12 AM

Oracle에 필요한 메모리 양은 데이터베이스 크기, 활동 수준 및 필요한 성능 수준(데이터 버퍼 저장, 인덱스 버퍼, SQL 문 실행 및 데이터 사전 캐시 관리에 필요)에 따라 다릅니다. 정확한 양은 데이터베이스 크기, 활동 수준 및 필요한 성능 수준에 따라 달라집니다. 모범 사례에는 적절한 SGA 크기 설정, SGA 구성 요소 크기 조정, AMM 사용 및 메모리 사용량 모니터링이 포함됩니다.

Oracle에서 특정 문자의 발생 횟수를 확인하는 방법 Oracle에서 특정 문자의 발생 횟수를 확인하는 방법 May 09, 2024 pm 09:33 PM

Oracle에서 문자 발생 횟수를 찾으려면 다음 단계를 수행하십시오. 문자열의 전체 길이를 얻습니다. 문자가 나타나는 부분 문자열의 길이를 얻습니다. 부분 문자열 길이를 빼서 문자 발생 횟수를 계산합니다. 전체 길이에서.

Oracle 데이터베이스 서버 하드웨어 구성 요구 사항 Oracle 데이터베이스 서버 하드웨어 구성 요구 사항 May 10, 2024 am 04:00 AM

Oracle 데이터베이스 서버 하드웨어 구성 요구 사항: 프로세서: 기본 주파수가 2.5GHz 이상인 멀티 코어, 대규모 데이터베이스의 경우 32개 이상의 코어가 권장됩니다. 메모리: 소규모 데이터베이스의 경우 최소 8GB, 중간 크기의 경우 16~64GB, 대규모 데이터베이스 또는 과도한 작업 부하의 경우 최대 512GB 이상. 스토리지: SSD 또는 NVMe 디스크, 중복성 및 성능을 위한 RAID 어레이. 네트워크: 고속 네트워크(10GbE 이상), 전용 네트워크 카드, 지연 시간이 짧은 네트워크. 기타: 안정적인 전원 공급 장치, 이중 구성 요소, 호환 가능한 운영 체제 및 소프트웨어, 열 방출 및 냉각 시스템.

오라클에서 문자열을 바꾸는 방법 오라클에서 문자열을 바꾸는 방법 May 08, 2024 pm 07:24 PM

Oracle에서 문자열을 바꾸는 방법은 REPLACE 함수를 사용하는 것입니다. 이 함수의 구문은 REPLACE(string, search_string, replacement_string)입니다. 사용 단계: 1. 대체할 하위 문자열을 식별합니다. 2. 하위 문자열을 대체할 새 문자열을 결정합니다. 3. 대체할 REPLACE 함수를 사용합니다. 고급 사용법에는 여러 대체, 대소문자 구분, 특수 문자 대체 등이 포함됩니다.

See all articles