I saw a post on the Internet today. I used a statement to insert data into multiple tables at the same time. I thought it was very novel. I tried it myself and recorded the statement. Step 1: create three tables, for experimental testing: CREATETABLET_TABLE (OBJECT_IDNUMBER, OBJECT_NAMEVARCHAR2 (128), OBJECT_TYPEVARCHAR2 (19); CREATETAB
I saw a post on the Internet today. I used a statement to insert data into multiple tables at the same time. I thought it was very novel. I tried it myself and recorded the statement. Step 1: create three tables, for experimental testing: create table T_TABLE (OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2 (128), OBJECT_TYPE VARCHAR2 (19); CREATE TAB
I saw a post on the Internet today. I used a statement to insert data into multiple tables at the same time. I thought it was very novel. I practiced it myself and recorded the statements.
Step 1: create three tables for experiment testing:
CREATE TABLE T_TABLE(OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2(128), OBJECT_TYPE VARCHAR2(19));CREATE TABLE T_INDEX(OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2(128), OBJECT_TYPE VARCHAR2(19));CREATE TABLE T_VIEW(OBJECT_ID NUMBER, OBJECT_NAME VARCHAR2(128), OBJECT_TYPE VARCHAR2(19));
Step 2: insert data into the three tables
INSERT ALL INTO T_TABLE(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) INTO T_INDEX(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) INTO T_VIEW(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) SELECT OBJECT_ID, OBJECT_NAME,OBJECT_TYPE FROM DBA_OBJECTS WHERE OBJECT_TYPE IN('VIEW','TABLE','INDEX');
Step 3: Clear three tables, insert data by category, that is, insert with conditions
TRUNCATE TABLE T_TABLE;TRUNCATE TABLE T_INDEX;TRUNCATE TABLE T_VIEW;
Insert data category
INSERT ALL WHEN OBJECT_TYPE='TABLE' THEN INTO T_TABLE(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)WHEN OBJECT_TYPE='VIEW' THEN INTO T_INDEX(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)ELSE INTO T_VIEW(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)SELECT OBJECT_ID, OBJECT_NAME, OBJECT_TYPEFROM DBA_OBJECTS WHERE OBJECT_TYPE IN ('VIEW','TABLE','INDEX');
Step 4: Clear three items, insert first, that is, INSERT with conditions
INSERT FIRST WHEN OBJECT_ID<1000 THEN INTO T_TABLE(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)WHEN OBJECT_ID>=1000 AND OBJECT_ID<2000 THEN INTO T_INDEX(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)ELSE INTO T_VIEW(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE) VALUES(OBJECT_ID, OBJECT_NAME,OBJECT_TYPE)SELECT OBJECT_ID, OBJECT_NAME, OBJECT_TYPEFROM DBA_OBJECTS WHERE OBJECT_TYPE IN ('VIEW','TABLE','INDEX');