oracle 的insert语句
在Oracle数据库中,INSERT语句用于向表中插入新的行数据。下面列举了十个符合要求的Oracle INSERT语句示例。
1. 插入单行数据:
```sql
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1001, 'John', 'Doe', TO_DATE('2022-01-01', 'YYYY-MM-DD'));
```
这个示例中,我们向名为employees的表中插入一行新数据。新数据的employee_id为1001,first_name为'John',last_name为'Doe',hire_date为2022年1月1日。
2. 插入多行数据:
```sql
INSERT ALL
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1002, 'Jane', 'Smith', TO_DATE('2022-02-01', 'YYYY-MM-DD'))
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1003, 'Mike', 'Johnson', TO_DATE('2022-03-01', 'YYYY-MM-DD'))
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1004, 'Emily', 'Brown', TO_DATE('2022-04-01', 'YYYY-MM-DD'))
SELECT * FROM dual;
```
这个示例中,我们使用INSERT ALL语句一次性插入了多行数据到employees表中。每行数据包含employee_id、first_name、last_name和hire_date四个字段的值。
3. 插入查询结果:
```sql
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
SELECT employee_id, first_name, last_name, hire_date
FROM new_employees
WHERE hire_date > TO_DATE('2022-01-01', 'YYYY-MM-DD');
```
这个示例中,我们使用INSERT INTO SELECT语句将new_employees表中符合条件的数据插入到employees表中。插入的数据包括employee_id、first_name、last_name和hire_date四个字段的值。
4. 插入默认值:
```sql
INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
VALUES (1005, 'Amy', 'Wilson', DEFAULT, DEFAULT);
```
这个示例中,我们向employees表中插入一行新数据。新数据的employee_id为1005,first_name为'Amy',last_name为'Wilson',hire_date和salary字段使用DEFAULT关键字表示使用默认值。
5. 插入带有子查询的数据:
```sql
INSERT INTO sales (salesperson_id, product_id, sale_date, amount)
SELECT s.salesperson_id, p.product_id, SYSDATE, p.price * s.quantity
FROM salespersons s, products p
WHERE s.product_name = p.product_name;
insert语句字段顺序```
这个示例中,我们使用INSERT INTO SELECT语句将salespersons表和products表中符合条件的数据插入到sales表中。插入的数据包括salesperson_id、product_id、sale_date和amount四个字段的值,其中sale_date使用SYSDATE函数获取当前日期,amount通过计算p.price和s.quantity的乘积得到。
6. 插入多个表的数据:
```sql
INSERT ALL
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (1006, 'Tom', 'Wilson', TO_DATE('2022-05-01', 'YYYY-MM-DD'))
INTO departments (department_id, department_name, location_id) VALUES (101, 'Sales', 1)
SELECT * FROM dual;
```
这个示例中,我们使用INSERT ALL语句一次性插入了多行数据到employees表和departments表中。每行数据分别包含employee_id、first_name、last_name、hire_date和department_id、department_name、location_id三个字段的值。
7. 插入数据并返回自动生成的主键值:
```sql
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (NULL, 'Jack', 'Johnson', TO_DATE('2022-06-01', 'YYYY-MM-DD'))
RETURNING employee_id INTO :new_employee_id;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。