这篇文章是关于如何操作数据库中的大数据集。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。
1.子查询插入数据1。句法
插入到表[列(,列)]子查询中;
2.描述:
您可以使用INSERT语句向具有查询结果集中的值的表中添加行。
插入子句的列列表中的列数及其数据类型必须与子查询中的值和数据类型匹配。
3.示例:
插入到模板3
选择*
来自员工;
第二,使用检查选项1,语法:
插入(带有检查选项的选择子句)值(.)
2.描述:
插入子查询。
如果不满足子查询中的where条件,则不允许插入。
如果插入的列不在子查询检查的where条件中,则不允许插入该列。
如果没有带检查选项,插入时将不会被检查。
请注意,子查询实际上不会被执行。
例句
插入
(选择员工标识、姓氏、电子邮件、雇佣日期、职务标识、工资
来自员工
其中部门标识=50,带检查选项)
价值观念
(99998,
史密斯',
' JSMITH ',
截止日期(' 1999-06-07 ','年-月-日'),
'店员',
5000);
第三,INSERT ALL1,语法:
a)无条件
插入[全部][条件插入子句]
[insert _ into _子句values _子句](子查询)
有条件的
插入[全部]
[当条件然后][插入到子句值子句]
[ELSE][insert _ in _子句values _子句]
2.描述
a)如果没有当条件,将插入所有表。
b)如果有当条件,检查每个当条件,如果满足条件,执行插入操作。
3.示例:
ft-2">
--无条件
INSERT ALL
INTO SAL_HISTORY
VALUES (EMPID, HIREDATE, SAL)
INTO MGR_HISTORY
VALUES (EMPID, MGR, SAL)
SELECT EMPLOYEE_ID EMPID, HIRE_DATE HIREDATE, SALARY SAL, MANAGER_ID MGR
FROM EMPLOYEES
WHERE EMPLOYEE_ID > 200;
--有条件
INSERT ALL
WHEN SAL > 10000
THEN INTO SAL_HISTORY
VALUES (EMPID, HIREDATE, SAL)
WHEN MGR > 200
THEN INTO MGR_HISTORY
VALUES (EMPID, MGR, SAL)
SELECT EMPLOYEE_ID EMPID, HIRE_DATE HIREDATE, SALARY SAL, MANAGER_ID MGR
FROM EMPLOYEES
WHERE EMPLOYEE_ID > 200;
四、INSERT FIRST
1、语法:
-
INSERT [FIRST]
-
[WHEN condition THEN] [insert_into_clause values_clause]
-
[ELSE] [insert_into_clause values_clause]
2、说明:
对于每一行数据,只插入到第一个when条件成立的表,不继续检查其他条件。
3、例句:
-
INSERT FIRST
-
WHEN SAL > 25000
-
THEN INTO SPECIAL_SAL
-
VALUES (DEPTID, SAL)
-
WHEN HIREDATE LIKE ('%00%')
-
THEN INTO HIREDATE_HISTORY_00
-
VALUES (DEPTID, HIREDATE)
-
WHEN HIREDATE LIKE ('%99%')
-
THEN INTO HIREDATE_HISTORY_99
-
VALUES (DEPTID, HIREDATE)
-
ELSE INTO HIREDATE_HISTORY
-
VALUES (DEPTID, HIREDATE)
-
SELECT DEPARTMENT_ID DEPTID, SUM(SALARY) SAL, MAX(HIRE_DATE) HIREDATE
-
FROM EMPLOYEES
-
GROUP BY DEPARTMENT_ID;
五、MERGE
1、语法:
-
MERGE INTO table_name table_alias
-
USING (table|view|sub_query) alias
-
ON (join condition)
-
WHEN MATCHED THEN
-
UPDATE SET
-
col1 = col_val1,
-
col2 = col2_val
-
WHEN NOT MATCHED THEN
-
INSERT (column_list)
-
VALUES (column_values);
2、说明:
Merge用来从一个表中选择一些数据更新或者插入到另一个表中。而最终是用更新还是用插入的方式取决于该语句中的条件。
3、例句:
-
MERGE INTO empl3 c
-
USING employees e
-
ON (c.employee_id = e.employee_id)
-
WHEN MATCHED
-
THEN UPDATE SET
-
c.first_name = e.first_name,
-
c.last_name = e.last_name,
-
...
-
c.department_id = e.department_id
-
WHEN NOT MATCHED
-
THEN INSERT VALUES
-
(e.employee_id, e.first_name, e.last_name,
-
e.email, e.phone_number, e.hire_date, e.job_id,
-
e.salary, e.commission_pct, e.manager_id,
-
e.department_id);
六、Flashback Version Query
1、语法:
-
VERSIONS BETWEEN TIMESTAMP [lower bound] AND [upper bound]
-
VERSIONS BETWEEN SCN [lower bound] AND [upper bound]
2、说明:
通过versions between能够查看指定时间段内undo表空间中记录的不同版本
3、例句:
-
SELECT SALARY
-
FROM EMPLOYEES3 VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
-
WHERE EMPLOYEE_ID = 107;
感谢各位的阅读!关于“数据库中如何操作大数据集”这篇文章就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144269.html