创建oracle存储过程,要求把一个表的数据导入另一个表中然后删除原表且要有异常处理和日志输出
创建oracle存储过程,要求把一个表的数据导入另一个表中然后删除原表且要有异常处理和日志输出,急用,,感谢!...
创建oracle存储过程,要求把一个表的数据导入另一个表中然后删除原表且要有异常处理和日志输出,急用,,感谢!
展开
2个回答
展开全部
又是你呀,我再把代码改改,很简单,代码如下
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;
--删除原表数据
delete 表名2
或者
TRUNCATE TABLE 表名2
COMMIT;
WHEN OTHERS THEN --当运行出现异常
dbms_output.put_line(SQLERRM(SQLCODE));--输出到控制台
end
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;
--删除原表数据
delete 表名2
或者
TRUNCATE TABLE 表名2
COMMIT;
WHEN OTHERS THEN --当运行出现异常
dbms_output.put_line(SQLERRM(SQLCODE));--输出到控制台
end
更多追问追答
追问
大哥,我是刚接触这个,领导让我写,急用里,,您有没有邮箱啊,这太不方便啦
追答
你先采纳台,有问题发我3827273@qq.com
展开全部
CREATE OR REPLACE PROCEDURE SOLUTION IS
BEGIN
-- 将TABLE1表的数据导入TABLE2表中
INSERT INTO TABLE2 SELECT * FROM TABLE1;
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT || ' 条记录插入。');
-- 删除原表记录
DELETE FROM TABLE1;
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT || ' 条记录被删除。');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('异常错误:' || SUBSTRB(SQLERRM, 1,240));
END;
/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询