有一个小问题,请大家帮帮忙看一下。

djwdjw 2003-10-15 04:47:59
我想创建一个表,使用Create Table Djw(n number),并且把它放到一个扩展名为sql的文本文件中,判断如果Oracle系统中已经存在这样的表,应该删除以前的表,然后重新建立这个Djw表,在这个文本文件中应该怎样写语句。
下面是我写的:

declare
Count_Number Number:=0;
begin
select Count(*) into Count_Number from User_Tables where table_name=UPPER('djw');
if Count_Number>0 then
drop table DJW;
end if;
create table djw(n Number);
Count_Number:=0;
select Count(*) into Count_Number from User_Tables where table_name='djw';
if Count_Number>1 then
dbms_output.put_line('成功创建');
else
dbms_output.put_line('没有成功创建');
end if;
end;

错误如下:
ERROR 位于第 6 行:
ORA-06550: 第 6 行, 第 5 列:
PLS-00103: 出现符号 "DROP"在需要下列之一时:
begincasedeclareexitfor
gotoifloopmodnullpragmaraisereturnselectupdatewhilewith
<an identifier><a double-quoted delimited-identifier>
<a bind variable><<closecurrentdeletefetchlockinsertopen
rollbacksavepointsetsqlexecutecommitforallmerge
<a single-quoted SQL string>pipe

应该怎样写才算是正确的。高手帮帮忙,我很急。
...全文
43 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
djwdjw 2003-10-15
  • 打赏
  • 举报
回复
困扰我一个多小时的问题,居然就这么轻松的解决了,非常感谢bzszp
bzszp 2003-10-15
  • 打赏
  • 举报
回复
用动态sql
str varchar2(200);

str:='drop table ...';
execute immediate str;

create table 也一样

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧