CREATE PROCEDURE create_user_done_table
(
v_user_name varchar(20)
) RETURN INTEGER
is
v_temp_table_name varchar2(50);
v_sqlstr varchar2(1000);
begin
v_temp_table_name:='temp_'+v_user_name+'_done_list'
BEGIN
select count(*) into my_count from tabs where table_anme =v_temp_table_name;
if my_count > 0 then
v_sqlstr := ' drop table '+v_temp_table_name
execute immediate v_sqlstr;
v_sqlstr :=' create Table '+v_temp_table_name+'(ID INT PRIMARY KEY, FileName varchar(255) Not NULL )';
execute immediate v_sqlstr;
end if
EXCEPTION
WHEN OTHERS THEN
P_ERROR := P_ERROR + 1;
RAISE_APPLICATION_ERROR(-20002,'create_user_done_table: Cannot Create User Temp Table'||SQLERRM);
RETURN 1;
END;
RETURN 0;
END;
/
(
v_user_name varchar(20)
) RETURN INTEGER
is
v_temp_table_name varchar2(50);
v_sqlstr varchar2(1000);
begin
v_temp_table_name:='temp_'+v_user_name+'_done_list'
BEGIN
select count(*) into my_count from tabs where table_anme =v_temp_table_name;
if my_count > 0 then
v_sqlstr := ' drop table '+v_temp_table_name
execute immediate v_sqlstr;
v_sqlstr :=' create Table '+v_temp_table_name+'(ID INT PRIMARY KEY, FileName varchar(255) Not NULL )';
execute immediate v_sqlstr;
end if
EXCEPTION
WHEN OTHERS THEN
P_ERROR := P_ERROR + 1;
RAISE_APPLICATION_ERROR(-20002,'create_user_done_table: Cannot Create User Temp Table'||SQLERRM);
RETURN 1;
END;
RETURN 0;
END;
/
解决方案 »
- oracle 无法启动监听
- 新装的oracle,登录不了SQL PLUS,另外怎么用IE访问ORACLE啊?
- 关于ORACLE序列连续性的问题请教下
- 请教一个数据库设计问题?急,在线等……
- 困扰了我六日休息的存储过程
- 监听程序添加地址时出现“要求有效的日志文件”?我有监听器,listener.ora文件和tnsnames.ora文件都有,都配置好了。。。
- 请教:如何在pc程序中调用另一个数据库中的表?在线
- SELECT TRUNC(TO_DATE('27-OCT-92','DD-MON-YY'), 'YEAR') "New Year" FROM DUAL;返回什么呀?
- 数据库平台的迁移
- win2008服务器oracle dg部署删除归档日志
- 存储过程如何返回结果集的问题,答对的,100分全给你,在线等待
- 大家帮忙看看这个过程,不知道错在哪里,谢谢!
RETURN INTEGER
is
v_temp_table_name varchar2(50);
v_sqlstr varchar2(1000);
my_count integer;
begin
v_temp_table_name:='temp_'+v_user_name+'_done_list'
BEGIN
select count(*) into my_count from tabs where table_name =UPPER(v_temp_table_name);
if my_count > 0 then
v_sqlstr := ' drop table '+v_temp_table_name ;
execute immediate v_sqlstr;
v_sqlstr :=' create Table '+v_temp_table_name+'(ID INT PRIMARY KEY, FileName varchar(255) Not NULL )';
execute immediate v_sqlstr;
end if;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20002,'create_user_done_table: Cannot Create User Temp Table'||SQLERRM);
RETURN 1;
END;
RETURN 0;
END;
/