ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and STATUS>-; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS_GUID(),'权限编号','文档编号',c.ID); end loop; commit;
/****** Object: StoredProcedure [dbo].[getSplitValue] Script Date: 03/13/2014 13:58:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[getSplitValue] AS --定义获取GUID ) SET @NEWID= REPLACE(NEWID(),'-','') --判断临时表数据是否存在,如果
开发过程中需要把一个已有500万条记录的表数据同步到另一个新表中,刚好体验下Mysql官方推荐的大数据迁移的方案:SELECT INTO OUTFILE,LOAD DATA INFILE Mysql 关于导出-导入文件的方式处理数据的官方文档地址:Mysql官方文档 本机配置: Win7 64位系统 内存: 16G 处理器:Intel i5-4460 3.2GHz Mysql 5.7 导出到txt的语法: SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; insert into insertTest select * from insertTest2;
alter TYPE TableType AS TABLE ( Name VARCHAR() , code VARCHAR() ) GO alter PROCEDURE usp_InsertProductionLocation @TVP TableType READONLY AS SET NOCOUNT ON if object_id('temp') is not null begin drop table temp end SELECT * into temp FROM @TVP; GO DE
update hy_b_hacker as h , ( SELECT ( @rowNO := @rowNo +1 ) AS rowno, ip FROM ( SELECT * FROM hy_b_sendlog GROUP BY ip )a, ( SELECT @rowNO :=0 )b ) as i set h.ip=i.ip where h.id=i.rowno;
insert into tableA select * from tableB b where not exists(select 1 from tableA a where a.id = b.id) insert into tableA select * from tableB b left join tableA a on a.id = b.id where a.id is null