ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

语法

第一种: 
通过使用Oracle语句块 

--指定文档所有部门都能查看
declare
         cursor TABLE_DEPT is SELECT ID,UNAME from g_users where utype=2 and STATUS>-1;
     begin
         for c in TABLE_DEPT loop
           INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID)
           VALUES(SYS_GUID(),‘权限编号‘,‘文档编号‘,c.ID);
         end loop;
     commit;
     end; 

第二中: 
使用纯SQL语句实现

insert into t_tag (tagid,widgetid,userid,tagname,tagdate) select s_tag_tagid.nextval,widgetid,‘15895829126‘,‘nanjing‘,sysdate from t_widget 
时间: 2024-08-02 02:51:44

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法的相关文章

oracle恢复案例:rename一个数据文件后做不完全恢复

案例:rename一个数据文件后做不完全恢复 SQL>startup mount:   //启动到mount状态 SQL> show parameter control_files    //查看控制文件的位置信息 NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ contro

oracle查询重复数据

oracle查询重复数据 select * from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) > 1) 根据rowid删除重复数据,保留一条 delete from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) >1) and rowid

算法题:给你一个自然数N,求[6, N]之内的全部素数中, 两两之和为偶数的那些偶数。

/* 算法题:给你一个自然数N,求[6, N]之内的全部素数中. 两两之和为偶数的那些偶数. */ #include <iostream> using namespace std; void Grial(int n) { int *b = new int[n]; int k = 0; b[k++] = 2; b[k++] = 3; b[k++] = 5; for (int i = 6; i < n; i++) { int j; for (j = 0; j < (k+1) / 2 ;

oracle查询中文数据出现乱码

首先,在oracle中,输入select userenv('language') from dual,查询出oracle使用的编码方式,我的是SIMPLIFIED CHINESE_CHINA.ZHS16GBK.之后 开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到"NL

判断一个序列是否是一个二叉查找树的后序遍历结果

题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果.如果是返回 true,否则返 回 false . 例如输入 5.7.6.9.11 .10.8,由于这一整数序列是如下树的后序遍历结果: 8 / \ 6 10 / \ / \ 5 7 9 11 因此返回 true. 如果输入 7.4.6.5,没有哪棵树的后序遍历的结果是这个序列,因此返回 false . 思路:对于树的很多问题都是可以使用递归来解决.这道题也不例外.首先明白后序遍历的特点,最后一个是根元素.左子树都比根元素打,右

判断一个数组是否是一个二叉排序树的后序遍历结果

比如给出数组[5,7,6,9,11,10,8]判断其是否为二叉排序树的后序遍历结果,也就是能不能画出一个二叉排序树使其的后序遍历结果与这个数组相同,若可以返回true,不可以返回false. 代码: int is_valid(int *data, int n){ if(data==NULL)return 0; int left=1; int right=1; int i=0; int j; int root=data[n-1]; while(data[i]<root){ i++; } for(j

oracle查询重复数据出现次数

话不多数上代码: 我在Oracle数据库查数据,发现重复数据,于是我想把重复条数以及具体数据查出来: 下面是数据 然后我需要知道重复多少条 (重复十条,也就是有五条数据相同) SQL: select COUNT(*) from acsprd.parameters_lowner where pow_low_code in (SELECT pow_low_code FROM acsprd.parameters_lowner group by pow_low_code having COUNT (po

Oracle查询重复数据与删除重复记录方法

比如现在有一人员表 (表名:peosons) drop table PERSONS; create table PERSONS ( PNAME VARCHAR2(50), CARDID VARCHAR2(18), ADDRESS VARCHAR2(100) ); insert into persons ( PNAME, CARDID, ADDRESS) values ( '张三', '430682199002121010', '深圳'); insert into persons ( PNAME,

oracle查询当天数据

日报数据统计中会用到当天数据的查询,下列就是日期要对应的条件: between to_date(to_char(sysdate,'yyyy-mm-dd') || ' 00:00:01','yyyy-mm-dd hh24:mi:ss') andto_date(to_char(sysdate,'yyyy-mm-dd') || ' 23:59:59','yyyy-mm-dd hh24:mi:ss'); Oracle字段类型为varchar2,格式要与格式化的样式匹配 当天 select * from