当前位置: 首页 > article >正文

Oracle 插入数据的存储过程

Oracle 插入数据的存储过程

这是用来,把实时表里面的数据插入到某个表A获取到的字段neid,然后拼接成xxx_xxx_neid历史表,接着往里面插入数据

CREATE OR REPLACE PROCEDURE XXX自定义名 IS
    -- 定义变量
    v_ne_id_table_name VARCHAR2(100);        
    v_ne_id VARCHAR2(100);                  
    v_sql_query VARCHAR2(2000);              
    v_current_date DATE := TRUNC(SYSDATE);  

    TYPE t_neid_cursor IS REF CURSOR;
    c_neid_cursor t_neid_cursor;

    v_info_row 实时表%ROWTYPE;

    TYPE t_alarm_cursor IS REF CURSOR;
    c_alarm_cursor t_alarm_cursor;

    -- 插入数据到历史表的通用过程
    PROCEDURE insert_data_into_history(v_ne_id_table_name IN VARCHAR2) IS
    BEGIN
        -- 从实时表中选择需要插入的数据
        v_sql_query := '查询实时表数据 ';
        OPEN c_alarm_cursor FOR v_sql_query;
        LOOP
            FETCH c_alarm_cursor INTO v_alarm_info_row;
            EXIT WHEN c_alarm_cursor%NOTFOUND;

           -- 使用 INSERT 语句简单插入数据
			v_sql_query := 'INSERT INTO ' || v_ne_id_table_name || ' (xxx1, xxx2,xxx3,xxx4) ' ||
                   'VALUES (:1, :2, :3, :4)';

			-- 执行 INSERT 语句 实时表的字段
		    EXECUTE IMMEDIATE v_sql_query USING 
		        v_info_row .xxx1, 
		        v_info_row .xxx2, 
		        v_info_row .xxx3,
		        v_info_row .xxx4;

        END LOOP;
        CLOSE c_alarm_cursor;
    END insert_data_into_history;	

BEGIN
    -- 处理表A
    v_sql_query := '查询表A的字段,例如:neid';
    DBMS_OUTPUT.PUT_LINE('Flood SQL: ' || v_sql_query);
    OPEN c_neid_cursor FOR v_sql_query;
    LOOP
        FETCH c_neid_cursor INTO v_ne_id;
        EXIT WHEN c_neid_cursor%NOTFOUND;

        v_ne_id_table_name := 'SCENE_ALARM_HIS_' || v_ne_id;
        DBMS_OUTPUT.PUT_LINE('Processing Table: ' || v_ne_id_table_name);

        insert_data_into_history(v_ne_id_table_name);
    END LOOP;
    CLOSE c_neid_cursor;
END ;

http://www.kler.cn/a/416046.html

相关文章:

  • CAN收发器芯片TJA1042规格书解读
  • C# 进行AI工程开发
  • Web3开发指南:构建去中心化应用(DApps)的关键步骤
  • Java基础常用类库全解析
  • kafka消费者组和分区数之间的关系是怎样的?
  • 【AIGC】2023-ICCV-用于高保真语音肖像合成的高效区域感知神经辐射场
  • 将有序数组转换为二叉搜索树python
  • [Redis#7] set | 命令 | 集合 | 用户画像 | UV
  • 【随笔】AI大模型对软件开发的影响
  • 编码器接口测速
  • 宠物领养平台:SpringBoot技术解密
  • 【vue for beginner】Vue该怎么学?
  • 看华为,引入IPD的正确路径
  • 清朗行动再开展,算法安全如何保障
  • springboot+redis+lua实现分布式锁
  • 在PHP中使用正则表达式来处理数据类型验证和提取
  • 强化安全责任意识,传音开展第四届信息及隐私安全文化宣传周活动
  • 数字3D虚拟展厅成熟运用于旅游业
  • 计算机网络基础(2):网络安全/ 网络通信介质
  • NCL数据分析与处理