declare Count_Number Number:=0; begin select Count(*) into Count_Number from user_tables where table_name=upper('tab_test'); if Count_Number>0 then execute immediate 'drop table tab_test'; end if; execute immediate 'create table tab_test(n number)'; end; /
create table tab_test(n number default 0);
declare str varchar2(100); begin str:='drop table tab_test'; execute immediate str; execute immediate 'create table tab_test(n number)'; exception when others then execute immediate 'create table tab_test(n number)'; end; /
你可以这样: drop table tab_test cascade constraints;
drop table tab_test cascade constraints; create table table_name { }
Count_Number Number:=0;
begin
select Count(*) into Count_Number from user_tables where table_name=upper('tab_test');
if Count_Number>0 then
execute immediate 'drop table tab_test';
end if;
execute immediate 'create table tab_test(n number)';
end;
/
str varchar2(100);
begin
str:='drop table tab_test';
execute immediate str;
execute immediate 'create table tab_test(n number)';
exception
when others then
execute immediate 'create table tab_test(n number)';
end;
/
drop table tab_test cascade constraints;
create table table_name
{
}
ORA-00942: 表或视图不存在
drop table tab_test cascade constraints;
/
create table tab_test(...);
再利用SQL*PLUS;
回复人: blasterboy(.net 我不明白) ( ) 信誉:97 2003-11-11 18:17:00 得分:0
不行啊,我测试了一下,还是提示我,表不存在
提示不存在就可以create了啊。
那还不说明问题吗?——tab_test根本不存在,
或者说在当前用户模式下无此表。
is right