请问用oracle的存储过程如何创建一个表?创建前判断此表名是否已存在,已存在则不创建

谢谢大家
能讲下如何去判断表是否已经存在吗?

select count(*) into flag from all_tables where table_name=upper(你要判断的表名)
if (flag=0) then
execute immedate 'create table 表名(列名1,列名2...)'
end if;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-10
说下思路吧
就是过程定义个字符串变量 createtable
然后再给变量赋值
createtable:='create table table_name()";
大概就这样
判断的话你写个if语句就行

补充:
另一位说的不错
你可以使用all_tables。注意你的表名要大写。因为oracle里的数据字典存储的数据是区分大小写的。可以查询出是否存在你要创建的表。