--如果存在数据库表的就删除,没有的话 就创建一个
create or replace procedure deleteTable(tableName_temp in varchar2) is
temp_tableCount number(10) := 0; --查询表存在的数
v_ival number(10); --loop的临时值
temp_grantuser varchar2(100);
v_createTableSQL varchar2(500); --创建表的SQL
v_deleteTableSQL varchar2(500); --删除表的SQL
begin
select count(*)
into temp_tableCount
from user_tables
where table_name = upper(tableName_temp);
v_createTableSQL := 'create table ' || tableName_temp ||
'( a number(8) primary key, b varchar2(20))';
--v_createTableSQL := 'create table '||tableName_temp||' as select sysdate as sysdate_temp from dual;';
v_deleteTableSQL :='drop table '||tableName_temp||' cascade constraints';
if temp_tableCount > 0 then
execute immediate v_deleteTableSQL;
dbms_output.put_line('删除表成功'||tableName_temp||'!!');
elsif temp_tableCount = 0 then
select user into temp_grantuser from dual;
--必须要给用户赋予权限才可以执行create
execute immediate 'grant create any table to '|| temp_grantuser;
execute immediate v_createTableSQL;
dbms_output.put_line('创建表'||tableName_temp||'成功!!');
else
dbms_output.put_line('出现异常情况!!');
end if;
--------------------------------循环处理快------------------------------------
--Loop循环
v_ival :=0;
loop
exit when v_ival>3;
--循环体
v_ival := v_ival+1;
dbms_output.put_line('loop循环:'||v_ival);
end loop;
exception
--异常处理代码块
when no_data_found then
dbms_output.put_line('发生系统异常:未找到有效的数据!');
when too_many_rows then
dbms_output.put_line('发生系统异常:查询结果超出预期的一行!');
-- when ex_lesszero then
--DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);
-- dbms_output.put_line('发生用户异常:数值不能为负!'||sqlcode||'异常描述:'||sqlerrm);
--when others then --other例如Exception
-- rollback;
-- dbms_output.put_line('发生异常!'||sqlcode||'异常的描述:'||sqlerrm);
end deleteTable;
--select to_char(sysdate+ interval '8' day,'yyyy-MM-dd HH24:MM:ss') from dual;
--查询权限
select * from session_privs
分享到:
相关推荐
首先,在数据库端创建简单的存储过程。 create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end; 然后,开始在Python命令行中进行...
有关oracle的一些创建存储过程
Oracle数据库创建存储过程和触发器,详细过程和错误分析
Oracle之创建存储过程.pdf 学习资料 复习资料 教学资源
oracle10g存储过程语法:存储过程创建语法、定义游标
ORACLE创建过程的语法
教你如何在oracle 中创建分页的存储过程
1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包(package) 7 1.3.1 包的基本结构 7 1.3.2 包的创建 7 1.3.3 调用包中...
oracle中的存储过程.函数,包的创建,更新实例
Oracle存储过程中使用临时表 会话级临时表 事务级临时表
NULL 博文链接:https://xiaosheng12345.iteye.com/blog/1984408
plsql创建存储过程并创建job定时任务执行-详细笔记文档总结
oracle存储过程,批量创建表和数据,表的个数支持参数传入
润乾报表简单调用oracle存储过程的说明文档,参照文档可创建可执行案例
常见的oracle存储过程总结,系统地介绍oracle的创建存储过程、变量、游标、数组以及一些常用的字符串函数的适用,非常实用。
如果我们通过创建存储过程以及在ASP中调用存储过程,就可以避免将SQL语句同ASP代码混杂在一起。这样做的好处至少有三个: 第一、大大提高效率。存储过程本身的执行速度非常快,而且,调用存储过程可以大大减少同...
oracle存储过程使用文档中描述了存储过程创建的过程,和一些注意事项
pb中执行oracle存储过程脚本; 使用批处理进行oracle存储过程脚本的创建和更新的处理。 此程序在pb中进行实现;
基于oracle数据库存储过程的创建及调用.docx
oracle数据库存储过程相关知识简介,存储过程创建语法讲解,包括判断语句、循环、数组遍历、游标使用,后附实例