CREATE OR REPLACE PROCEDURE PD_GENERATE_HELP_LAST_TABLES IS--把从sqlserver中生成的vw_last_xxx所对应的视图生成本地的数据表
首页 → 数据库技术
背景:
阅读新闻
Oracle中判断有表DROP无表CREATE的存储过程
[日期:2011-05-11] 来源:Linux社区 作者:Linux [字体:]
CREATE OR REPLACE PROCEDURE PD_GENERATE_HELP_LAST_TABLES IS
--把从sqlserver中生成的vw_last_xxx所对应的视图生成本地的数据表
tabNocount NUMBER ;
v_sql VARCHAR2(200);
BEGIN
--判断表dat_help_last_scqy1(成品油生产旬报)
SELECT count(*) INTO tabNocount FROM user_tables WHERE table_name = 'DAT_HELP_LAST_SCQY1';
IF tabNocount>0 THEN
dbms_output.put_line('drop table dat_help_last_scqy1');
v_sql := 'DROP TABLE DAT_HELP_LAST_SCQY1';
EXECUTE IMMEDIATE v_sql;
END IF;
dbms_output.put_line('create table dat_help_last_scqy1');
v_sql := 'CREATE TABLE DAT_HELP_LAST_SCQY1 AS SELECT * FROM VW_LAST_SCQY1';
EXECUTE IMMEDIATE v_sql;
--判断表dat_help_last_scqy2(成品油生产月报)
SELECT count(*) INTO tabNocount FROM user_tables WHERE table_name = 'DAT_HELP_LAST_SCQY2';
IF tabNocount>0 THEN
dbms_output.put_line('drop table dat_help_last_scqy2');
v_sql := 'DROP TABLE DAT_HELP_LAST_SCQY2';
EXECUTE IMMEDIATE v_sql;
END IF;
dbms_output.put_line('create talbe dat_help_last_scqy2');
v_sql := 'CREATE TABLE DAT_HELP_LAST_SCQY2 AS SELECT * FROM VW_LAST_SCQY2';
EXECUTE IMMEDIATE v_sql;
--判断表dat_help_last_shsndybb(能源调度月报表)
SELECT count(*) INTO tabNocount FROM user_tables WHERE table_name = 'DAT_HELP_LAST_SHSNDYBB';
IF tabNocount>0 THEN
dbms_output.put_line('drop table dat_help_last_shsndybb');
v_sql := 'DROP TABLE DAT_HELP_LAST_SHSNDYBB';
EXECUTE IMMEDIATE v_sql;
END IF;
dbms_output.put_line('create table dat_help_last_shsndybb');
v_sql := 'CREATE TABLE dat_help_last_shsndybb AS SELECT * FROM vw_last_shsndybb';
EXECUTE IMMEDIATE v_sql;
END PD_GENERATE_HELP_LAST_TABLES;
测试
begin
-- Call the procedure
pd_generate_help_last_tables;
end;
如果出现 ORA-01031: 权限不足
ORA-06512: 在"SYSTEM.CCCCCC", line 6
ORA-06512: 在line 1
的错误,则执行以下授权语句
grant create table to jwdc;
grant resource to jwdc;
grant create procedure to jwdc;
Oracle 如何判断临时表是否存在
Oracle客户端连接bug
相关资讯 Oracle教程
图片资讯
本文评论 查看全部评论 (0)
评论声明
最新资讯
本周热门
Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们
本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,,也不构成任何建议。
Copyright © 2006-2011 Linux公社 All rights reserved 浙ICP备06018118号