ORACLE用存储过程查出来的数据插入表
时间: 2023-07-17 18:01:03 浏览: 226
您可以使用存储过程来查询数据,并将结果插入另一个表中。以下是一个示例的存储过程:
```sql
CREATE OR REPLACE PROCEDURE insert_data_proc AS
BEGIN
-- 声明变量用于存储查询结果
DECLARE
v_column1 table1.column1%TYPE;
v_column2 table1.column2%TYPE;
BEGIN
-- 查询数据
SELECT column1, column2 INTO v_column1, v_column2 FROM table1;
-- 将结果插入另一个表
INSERT INTO table2 (column1, column2) VALUES (v_column1, v_column2);
-- 提交事务
COMMIT;
END;
END;
/
```
在上面的示例中,`table1` 是您要查询数据的表,`table2` 是您要插入数据的表。您可以根据需要修改表名和列名。要执行此存储过程,您可以使用以下命令:
```sql
EXECUTE insert_data_proc;
```
这将执行存储过程并将查询结果插入到`table2`中。
相关问题
Oracle用存储过程,将A表的数据插入B表
可以使用以下存储过程实现将表A中的数据插入到表B中:
```
CREATE OR REPLACE PROCEDURE insert_a_to_b AS
BEGIN
INSERT INTO B (column1, column2, column3)
SELECT column1, column2, column3
FROM A;
COMMIT;
END;
```
请注意,此处假定表A和表B具有相同数量和类型的列,并且列名相同。如果列名不同,需要在INSERT INTO语句中指定目标列名。
此存储过程将从表A中选择所有行并将它们插入到表B中。最后,使用COMMIT语句提交更改。
oracle存储过程插入数据
您好!下面是一个简单的 Oracle 存储过程插入数据的示例:
```sql
CREATE OR REPLACE PROCEDURE insert_data (
p_name IN VARCHAR2,
p_age IN NUMBER,
p_gender IN VARCHAR2
)
AS
BEGIN
INSERT INTO my_table (name, age, gender)
VALUES (p_name, p_age, p_gender);
COMMIT;
END;
```
在这个示例中,存储过程名为 `insert_data`,它接收三个参数:`p_name`、`p_age` 和 `p_gender`。该存储过程将在 `my_table` 表中插入一条记录,记录的 `name`、`age` 和 `gender` 字段分别由存储过程的参数指定。
要执行这个存储过程,可以使用以下 SQL 语句:
```sql
EXEC insert_data('John', 30, 'Male');
```
这将调用 `insert_data` 存储过程,并将 `name` 设置为 'John',`age` 设置为 30,`gender` 设置为 'Male',然后将这些值插入到 `my_table` 表中。
希望这个示例能够帮助您理解如何编写并执行 Oracle 存储过程。如果您还有其他问题,请随时问我。