第一种:
通过使用Oracle语句块
declare
cursor cur_test is select widgetid from t_widget;
begin
for c in cur_test loop
insert into t_tag
(tagid,widgetid,userid,tagname,tagdate)
values(s_tag_tagid.nextval,c.widgetid,'15895829126','nanjing',sysdate);
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
Oracle 从一个表查询出数据,插入另一张表
数据库
2010-12-16 14:36:43
阅读203
评论0
字号:大
中
小
订阅
例子一
insert into pm_per_res_page_ele
(RES_ID,ELE_TYPE_CODE,ELE_CODE,REMARKS)
select
per_res_page_ele_id.nextval as RES_ID,
'Menu.Left.Tree' as
ELE_TYPE_CODE,
menu.menu_id as ELE_CODE,
menu.menu_name as
REMARKS
from SYS_MENU menu |
例子二
insert into BACKUP_SYS_MENU t
select
menu.*,sysdate,BACKUP_SYS_MENU_ID.Nextval
from SYS_MENU menu |
分享到:
相关推荐
这种方式可以同时执行更新和插入操作,但写法比较繁琐,并且最多只能两个表关联,复杂的语句用 Merge 更新法将力不从心且效率差。 四、游标更新法 游标更新法是使用游标来遍历数据并执行更新操作,语法为:`BEGIN ...
在这个例子中,`insertBatch` 方法接受一个`List` 类型的参数,`foreach` 循环遍历列表,将每个元素插入到`TStudent` 表中。 ### 2. MyBatis `ExecutorType.BATCH` MyBatis 提供了三种执行器类型:`SIMPLE`、`...
- **描述**:创建一个名为 `logSalaryChanges` 的触发器,在对 `salary` 表进行插入、修改和删除操作时,将操作的时间、操作的类型和用户名记录在 `salarylog` 表中。 - **实现**: 1. 创建 `salarylog` 表。 2. ...
- **私有同义词**:如果两个用户分别有自己的私有同义词指向同一个表,则这两个SQL语句无法共享。 - 如:用户 Jack 和 Jill 分别有自己的私有同义词 `sal_limit` 指向同一张表,但他们的SQL语句无法共享。 - **公共...
存储过程首先设置一个游标遍历当前层级的子项,然后对每个子项调用自身,插入到中间表中。这种方式理论上可以处理较深的层级关系,但效率可能随着子集数量增加而降低。 ```sql DELIMITER ;; CREATE PROCEDURE `sss`...
--两张表的连接 此种写法比用where更清晰 69、select ename, dname, grade from emp e join dept d on(e.deptno = d.deptno) join salgrade s on (e.sal between s.losal and s.hisal) ...
{8.3}创建线程的两种方法}{123}{section.8.3} {8.4}Runnable}{123}{section.8.4} {8.5}Sleep阻塞与打断唤醒}{124}{section.8.5} {8.5.1}sleep与wait的差异}{124}{subsection.8.5.1} {8.6}IO阻塞}{126}{section....