(3)使用Insert Into 表名 Select 字段,....., from语句,将dept及emp表中的相关列插入到department及employee表中;
时间: 2024-11-14 20:22:53 浏览: 2
oracle初学者必备-scott用户脚本创建及表结构及函数练习实例.docx
使用`INSERT INTO ... SELECT`语句从现有的`dept`和`emp`表中插入数据到新的`department`和`employee`表中,可以按照字段顺序执行。例如,如果你已经知道`dept`表中有`deptno`和`dname`,`emp`表中有`empno`, `ename`, `job`, `sal`, `comm`以及`deptno`,那么可以分别做如下操作:
1. 插入`department`表的数据:
```sql
INSERT INTO department (deptno, dname)
SELECT deptno, dname FROM your_temp_dept_table;
```
2. 插入`employee`表的数据,假设默认值不需要改变:
```sql
INSERT INTO employee (empno, ename, job, sal, comm, deptno)
SELECT empno, ename, 'CLERK', sal, comm, deptno FROM your_temp_emp_table;
```
如果需要根据`emp`表中的`job`字段提供非默认值,应改为:
```sql
INSERT INTO employee (empno, ename, job, sal, comm, deptno)
SELECT empno, ename, COALESCE(your_temp_emp_table.job, 'CLERK'), sal, comm, deptno FROM your_temp_emp_table;
```
这会将源表中匹配的行复制并插入到目标表中,保留了`job`字段的默认值。
阅读全文