Oracle存储过程之查询并插入数据

把查询出来的结果插入到另一张表中:

CREATE OR REPLACE PROCEDURE TELEPATHOLOGY_TEST_DATA IS BEGIN
		FOR row_data IN (
		SELECT
			bpi.APPLY_NO AS TELME_ASK_NUM,-- 申请单编号
			-- 各种查询字段
		FROM
			--表名
		WHERE
			-- 条件
		)
		LOOP
		INSERT INTO TELEPATHOLOGY_TEST_DIAGNOSIS (
			LAST_UPDATE_DTIME,
			-- 插入的字段名
		)
	VALUES
		(
			row_data.LAST_UPDATE_DTIME,
			-- 具体值
		);
	COMMIT;
	
END LOOP;

END TELEPATHOLOGY_TEST_DATA;

如果是spring boot调用存储过程,和之前写的文章类似。

SpringBoot调用Oracle存储过程(入参,出参)_我会敲代码哦!的博客-CSDN博客_springboot 调用oracle存储过程​​​​​​-spring boot+mybatis调用Oracle存储过程https://blog.csdn.net/weixin_53818213/article/details/126221573------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 中,可以通过存储过程来返回一张数据。以下是一个示例存储过程: ```sql CREATE OR REPLACE PROCEDURE get_employee_data IS -- 定义一个游标 CURSOR employee_cursor IS SELECT employee_id, first_name, last_name FROM employees; -- 定义一个记录类型,用于存储查询结果 TYPE employee_record IS RECORD( employee_id employees.employee_id%TYPE, first_name employees.first_name%TYPE, last_name employees.last_name%TYPE ); -- 定义一个存储过程返回的类型,包含一个记录类型和一个记录类型的数组 TYPE employee_data IS RECORD ( employee employee_record, employee_list employee_record ); -- 定义一个变量,用于存储查询结果 employee_data_var employee_data; BEGIN -- 打开游标 OPEN employee_cursor; -- 将游标结果存储到记录类型的数组中 FETCH employee_cursor BULK COLLECT INTO employee_data_var.employee_list; -- 关闭游标 CLOSE employee_cursor; -- 将数组中的第一条记录存储到记录类型中 employee_data_var.employee := employee_data_var.employee_list(1); -- 返回存储过程的结果 DBMS_OUTPUT.PUT_LINE('Employee ID: ' || employee_data_var.employee.employee_id || ', First Name: ' || employee_data_var.employee.first_name || ', Last Name: ' || employee_data_var.employee.last_name); END; ``` 这个存储过程查询 `employees` 表中的所有员工信息,将查询结果存储到一个记录类型的数组中,并返回数组中的第一条记录。可以通过调用存储过程来获取查询结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值