Oracle中用随机数更新字段----将一张表的数据插入另一张表----环境设置

DECLARE
        CURSOR recordCursor IS
               SELECT longitude,latitude FROM WR_WIUST_B_SEC FOR UPDATE;
recordRow  recordCursor % ROWTYPE;
BEGIN
        OPEN  recordCursor;
        LOOP
             FETCH recordCursor  INTO  recordRow;
             IF  recordCursor % NOTFOUND THEN
                   EXIT;
             ELSE
                   UPDATE WR_WIUST_B_SEC SET longitude= (select SUBSTR(to_char(dbms_random.value()*(116.280858-108.362376)+108.362376),0, 10) from dual ),
                    latitude= (select SUBSTR(to_char(dbms_random.value()*(33.257267-29.040321)+29.040321),0, 10) from dual )
                    WHERE CURRENT OF  recordCursor;
             END IF;
         END LOOP;
         COMMIT;
         CLOSE  recordCursor;
END;

commit;
insert into st_pptn_r_temp(stcd, tm, drp, intv, pdr, dyp, wth, datetime)
(
select distinct t.stcd, t.tm ,t.drp, t.intv, t.pdr, t.dyp, t.wth, t.datetime from st_pptn_r t
inner join ST_STBPRP_B_temp b on b.stcd=t.stcd
where t.tm >= to_date(‘2014-05-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘) and t.tm <= to_date(‘2014-10-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘)
);

insert into st_river_r_temp(stcd, tm , z, q, xsa, xsavv, xsmxv, flwchrcd, wptn, msqmt, msamt, msvmt)
(
select distinct t.stcd, t.tm , t.z, t.q, t.xsa, t.xsavv, t.xsmxv, t.flwchrcd, t.wptn, t.msqmt, t.msamt, t.msvmt from st_river_r t
inner join ST_STBPRP_B_temp b on b.stcd=t.stcd
where t.tm >= to_date(‘2014-05-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘) and t.tm <= to_date(‘2014-10-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘)
);

insert into ST_RSVR_R_temp(stcd, tm, rz, inq, w, blrz, otq, rwchrcd, rwptn, inqdr, msqmt)
(
select distinct r.stcd, r.tm, r.rz, r.inq, r.w, r.blrz, r.otq, r.rwchrcd, r.rwptn, r.inqdr, r.msqmt from ST_RSVR_R r
inner join ST_STBPRP_B_temp b on b.stcd=r.stcd
where r.tm >= to_date(‘2014-05-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘) and r.tm <= to_date(‘2014-10-01 08:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘)
);
1.语言与编码

2.时间格式
1)用alter session来修改
SQL>alter session set nls_date_format=‘yyyy-mm-dd hh24:mi:ss‘;

2)在OS中设置nls_date_format环境变量
SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS
时间: 2024-07-30 15:27:52

Oracle中用随机数更新字段----将一张表的数据插入另一张表----环境设置的相关文章

Oracle查询一个表的数据插入到另一个表

1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B =  A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbdco

Oracle将两张表的数据插入第三张表且第三张表中不存在

1.由于是先查再插所以不能使用insert into table1() values(), 要使用insert into table1() select * table2,不能使用values. 2.因为是多张表故查询和插入的时候需要指定是哪张表,否则会报错:指定列模糊. 3.三张表联查时可多次使用inner join等连接语法. 总结:在逻辑上SQL与Code实现基本一致,但是SQL的速度非常快,在具体实现上SQL需要非常强的逻辑性但是会省去很多写code的功夫. insert into SP

复制一张表的数据到另一张表,jq.grid里面有时间类型数据时展示不了数据

1.复制一张表的数据到另一张表 insert into jct_sys_lock_tbl_new  (BGN_DT, END_DT, TYPE, DESCR, flag, format, range, count)  select BGN_DT, END_DT, TYPE, DESCR, flag, format, range, count    from jct_sys_lock_tbl 也可以: insert into jct_sys_lock_tbl_new  select *    fr

SQLserver将一张表a的数据插入另一张表b

一.将一张表a的数据插入另一张表b(b为新建表) select * into 表b  from 表a 二.将一张表a的数据插入另一张表b(b为已有表) insert into 表b select * from 表a

oracle将查询到的数据插入到数据库的表中

一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中.   例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下SQL语句:   create table b as select * from a   二.Oracle数据库中支持把查询结果导入到另外一张表中.   例如:有两个表A和B   1)如果两个表的表结构是否相同,但要插入的字段类型相同:   (1)把A表的全部字段数据插入到B表中: insert into B select * from A;   (2)把A表中

Oracle一个表中的数据插入另一张表

INSERT INTO TABLE1 SELECT * FROM TABLE2; TABLE1表中字段比TABLE2多 INSERT INTO TABLE1 SELECT 'extra1','extra2',b,c,d FROM TABLE2;

在oracle中怎么把一张表的数据插入到另一张表中

把table2表的数据插入到table1中 insert   into   table1   select   *   from   table2

sql 根据指定条件获取一个字段批量获取数据插入另外一张表字段中

/****** Object: StoredProcedure [dbo].[getSplitValue] Script Date: 03/13/2016 13:58:12 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[getSplitValue] AS --定义获取GUID DECLARE @NEWID NVARCHAR(50) SET @NEWID= REPLACE(NEWID(

通过触发器实现两张有主外键关系的表的数据插入问题

表:T_USERS,T_USER_EXCEPT_WORK,其中T_USERS中的主键ID和T_USER_EXCEPT_WORK中的外键都为数列SEQUENCE_USERS.Currval的自增长数列. 更通俗的讲就是:在T_USERS表中插入一条数据,通过触发器在T_USER_EXCEPT_WORK插入一条相关的数据. 注意: 序列有以下两个属性 CURRVAL: 返回序列当前值: NEXTVAL:返回当前序列值增加一个步长后的值. 只有在发出至少一个NEXTVAL之后才可以使用CURRVAL属