oracle 批量添加
时间: 2023-10-17 18:20:50 浏览: 72
Oracle批量添加可以通过使用SQL语句或使用PL/SQL程序来实现。
使用SQL语句批量添加数据:
例如,我们想要向一个名为“employees”的表中批量添加10条记录,可以使用以下SQL语句:
```
INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary)
VALUES
(101, 'John', 'Doe', 'john.doe@example.com', TO_DATE('01-JAN-2021', 'DD-MON-YYYY'), 'IT_PROG', 5000),
(102, 'Jane', 'Doe', 'jane.doe@example.com', TO_DATE('01-FEB-2021', 'DD-MON-YYYY'), 'SA_MAN', 8000),
(103, 'Bob', 'Smith', 'bob.smith@example.com', TO_DATE('01-MAR-2021', 'DD-MON-YYYY'), 'ACCT', 6000),
(104, 'Mary', 'Johnson', 'mary.johnson@example.com', TO_DATE('01-APR-2021', 'DD-MON-YYYY'), 'IT_PROG', 5500),
(105, 'Tom', 'Brown', 'tom.brown@example.com', TO_DATE('01-MAY-2021', 'DD-MON-YYYY'), 'SA_MAN', 7500),
(106, 'Sue', 'Davis', 'sue.davis@example.com', TO_DATE('01-JUN-2021', 'DD-MON-YYYY'), 'ACCT', 6500),
(107, 'Mike', 'Wilson', 'mike.wilson@example.com', TO_DATE('01-JUL-2021', 'DD-MON-YYYY'), 'IT_PROG', 5000),
(108, 'Karen', 'Miller', 'karen.miller@example.com', TO_DATE('01-AUG-2021', 'DD-MON-YYYY'), 'SA_MAN', 8000),
(109, 'David', 'Taylor', 'david.taylor@example.com', TO_DATE('01-SEP-2021', 'DD-MON-YYYY'), 'ACCT', 6000),
(110, 'Lisa', 'Anderson', 'lisa.anderson@example.com', TO_DATE('01-OCT-2021', 'DD-MON-YYYY'), 'IT_PROG', 5500);
```
这个语句将向employees表中插入10条记录,每个记录包含以下列:employee_id、first_name、last_name、email、hire_date、job_id和salary。TO_DATE函数用于将字符串转换为日期类型。
使用PL/SQL程序批量添加数据:
另一种方法是使用PL/SQL程序来批量添加数据。以下是一个示例程序:
```
DECLARE
i INTEGER := 1;
BEGIN
WHILE i <= 10 LOOP
INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary)
VALUES
(i, 'John', 'Doe', 'john.doe@example.com', SYSDATE, 'IT_PROG', 5000);
i := i + 1;
END LOOP;
END;
```
这个程序将向employees表中添加10条记录,每条记录的employee_id值从1到10。循环使用WHILE语句实现,每次迭代都会向表中插入一条记录。SYSDATE函数用于获取当前日期。
阅读全文