dkfr.net
当前位置:首页 >> ORCALE 存储过程复制数据 并更新主键 >>

ORCALE 存储过程复制数据 并更新主键

创建临时表: create table TEMPTAB as select * from ... 像正式表插入临时表数据: insert into MW_APP.TABLENAME(列名..)select 对应列名 from TEMPTAB; oralce中没有类似sqlserver的#TEMPTAB 这样的临时表, 所以上记方式创建表之后,不用的...

很简单,代码如下 create or replace procedure test is begin --两个表字段一样 insert into 表名1 select * from 表名2; --字段不一样 insert into 表名1(字段1,字段2,字段3) select 字段1,字段2,字段3 from 表名2; COMMIT; end

实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。 CREATE OR REPLACE PROCEDURE insert_data_4_pressure_3 is --Result1 VARCHAR2(50); VAR_num number;begin...

再多Oracle也处理得了,即使是百万千万级别,再多就不适合用更新做法,思路就要换了 如果你非要这么弄的话,通过rowid和rownum来做循环,但是意义不大

把结果集插入表就行了,不用存储过程 insert into table2 select column1...columnn from view; 你试试看

可能这个表被别的用户锁了; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.sess...

你这个语法是不对的 你create table as select 的时候是不能指定列的数据类型,因为你是根据查询结果创建一个表,列名和数据类型都是由查询结果定的,或者你可以 create table 然后 insert into table select ... 改成下面这样 create or replac...

如果是存储过程,比如 username varchar2(20); username :="张三";

网上找到一段,希望采纳: 创建含有输入和输出参数的存储过程,该过程通过员工编号查找工资额,工资额以输出参数返回 CREATE OR REPLACE PROCEDURE getSalaryByEmpNo(eNo IN NUMBER,salary OUT NUMBER) AS BEGIN SELECT SAL INTO salary FROM EM...

可用语句查看或用第三方工具查看。 一、语句查看方法: 1、执行语句: SELECT text FROM user_source WHERE NAME = 'Procedure Name'ORDER BY line;--其中Procedure Name为存储过程名字,需要全部用大写英文。2、如要查P_TEST的存储过程: SELEC...

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com