SQL-Oracle存储过程-循环A表,向B表插入数据

--存储过程,查询A表,向B表插入数据
create or replace procedure prc_sg_sjtj_config(p_flag out varchar2) IS
BEGIN
  FOR c_row IN (SELECT T.UNIT_NAME,
                       T.DATA_NAME,
                       T.TABLE_NAME,
                       T.UPDATE_ODR,
                       DECODE(T.DATA_METHODS,
                              ‘文件‘,
                              ‘拷贝‘,
                              ‘接口‘,
                              ‘服务接口‘,
                              ‘交换平台‘) AS DATA_METHODS
                  FROM v_dataservice_ext t
                 where t.data_type = ‘0‘
                   AND T.DATA_NAME NOT IN (SELECT s.msxx FROM t_sg_sjdjtj s)) LOOP

    INSERT INTO t_sg_sjdjtj
      (ywdw, ywb, msxx, ms, djfs, tjbz)
    VALUES
      (c_row.unit_name,
       c_row.table_name,
       c_row.data_name,
       c_row.UPDATE_ODR,
       c_row.DATA_METHODS,
       ‘1‘);
    COMMIT;
  END LOOP;
  p_flag := ‘1‘;
END prc_sg_sjtj_config;
时间: 2024-10-08 17:31:16

SQL-Oracle存储过程-循环A表,向B表插入数据的相关文章

MySQL为数据表的指定字段插入数据

username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 为数据表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其它字段的值为数据表定义时的默认值. 基本的语法格式如下: INSERT INTO 表名(字段1,字段2,...,字段m) VALUES(值1,值2,...,值m); 字段1,字段2,...,字段m:表示数据表中的字段名称

MySQL实验1: 新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。

数据表(table)简称表,它是数据库最重要的组成部分之一.数据库只是一个框架,表才是实质内容. 实验: 新建一个名为 library的数据库,包含 book.reader两张表,根据自己的理解安排表的内容并插入数据. 参考答案: 总结:经过本次实验,我们已经有了一个名为 library的数据库,其中有 book和reader两张表,我们已经向其中插入了一些数据. 原文地址:https://www.cnblogs.com/HongjianChen/p/10692764.html

oracle——数据表的相关操作——插入数据以及批量插入数据

SQL更新数据 1.插入数据——insert操作 语法格式如下: insert into 表名 (列名1,列名2……,列名n) values (值1,值2……,值n); 在insert操作中,列名列表中的各列需要以逗号分隔:而值列表指定各列的值,列名与值需要一一对应. 如果insert语句所指定的列名列表包含了表中的所有列,那么可以将列名列表省略. create table student08 ( id number, name varchar2(20), sex varchar2(20), a

mysql建立表及表的简单操作-插入数据-删除主键-删除表-修改表的数据-删除表的数据

-- 1.使用数据库 USE ren; -- 2.建立student表 CREATE TABLE student ( sid INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,   -- UNSIGNED(无符号) AUTO_INCREMENT(自增) sname VARCHAR(10),    -- 只能保存10个字符 saddress VARCHAR(15)   -- 只能保存15个字符 )ENGINE=MYISAM DEFAULT CHARSET=utf8;

ORACLE 存储过程 循环表操作

CREATE OR REPLACE PROCEDURE pubres_test as BEGIN for obj in ( select resource_name,unit_name,resource_code,sum(update_count) update_count from winf_pubres_update_log group by resource_name,unit_name,resource_code) loop --统计汇总 insert into WINF_PUBRES_

[MySQL]--MySQL表中某个列插入数据总被截断,报编码方式的语法错误,实际是column的not null属性和更改编码语法导致的冲突。

MySQL的编码方式中,常用的有gb2312<gbk<utf8. MySQL的编码方式的查看,常用三个参数:character_set_client, character_set_connection ,character_set_result. 查询goods表的列的编码情况: show full columns from goods; 在三个参数一样的情况下,发现goods表中的goods_name的值被截断了,单独插入一行数据的时候,报字符编码错误. 用alter table chang

文本文件导入mysql数据库表及insert命令插入数据到表

1.文本文件导入数据库表 格式:mysql> LOAD DATA LOCAL INFILE '文本路径' INTO TABLE 表名; 例:mysql> LOAD DATA LOCAL INFILE 'D:/pet.txt' INTO TABLE pet; <pre name="code" class="plain">可以创建一个文本文件"pet.txt",每行包含一个记录,用定位符(tab)把值分开,并且以CREATE

Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名

Oracle数据库,用mybatic批量插入数据: <insert id="saveBatch" parameterType="io.renren.entity.NodeDataEntity" databaseId="oracle"> insert into "NODE_DATA" ( "NODE_ID", "DATA_TIME", "DATA_VALUE"

Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracle支持的数据类型: 字符型 char 定长 最大2000个字符 char(10)----'小韩' 前四个字符放'小韩',后添加6个空格补全.(查询效率高) varchar2(20) 变长 最大4000个字符 vachar2(10)----'小韩' oracle分配四个字符,这样可以节省空间. clo

线性表之顺序表实现

1 #ifndef __SEQ_LIST_H__ 2 #define __SEQ_LIST_H__ 3 4 #include <stdio.h> 5 #include <stdlib.h> 6 #include <assert.h> 7 8 9 #define SEQLIST_INIT_SIZE 8 //顺序表初始化大小 10 #define INCSIZE 3 //顺序表每次增容大小 11 typedef int ElemType; //顺序表中数据的类型 12 13