表名是动态的
建表前先看数据库中是否存在相同名字的表,如果存在就删除之前的
在存储过程中动态执行SQL语句创建表
会SQLSERVER不会ORACLE啊,各位帮帮忙
建表前先看数据库中是否存在相同名字的表,如果存在就删除之前的
在存储过程中动态执行SQL语句创建表
会SQLSERVER不会ORACLE啊,各位帮帮忙
解决方案 »
- oracle 数组怎么用
- oracle 使用exp导出数据,如何导出序列???
- 如何远程备份Oracle到本地不被人发现~~
- 如何实现历史表的生成
- 一个oracle问题
- 重金求schema(或称方案)的在不同Oracle实例间复制的解决方法!
- java 开发基于oracle的程序中,blob字段可以与其他短字段一起select 到记录集中么?
- 找oracle form builder 内置函数和过程的描述(中文),还有触发器的描述?
- oracle中的表空间为何越来越大?
- ora-00942:表和视图不存在?(在线等你的答案!)
- 关于ora-03113错误,求教!有劳各位高人了
- oracle9i的连接问题
select COUNT(*) from tab where tname='表名' AND tabtype='TABLE'
在存储过程中,需要先定义一个变量来接收COUNT(*),然后根据这个变量判断表是否存在
以前都是用SQL,没用ORACLE,这个应该不是很难,帮忙写一下,让我以后有个参考啊
is
ii number(10);
strsql varchar2(2000);
begin
select COUNT(*) into ii from user_tables where table_name='T1';
if ii>0 then
strsql := 'drop table T1';
execute immediate strsql;
end if;
strsql := 'create table T1(AA varchar2(10),
BB varchar2(100),
CC varchar2(10))';
execute immediate strsql;
end;
为什么要 select COUNT(*) into ii from user_tables where table_name='T1';
检查t1这个表是否存在。
authid current_user is
sqlStatement varchar2(200);
begin
dbms_output.put_line('create table ' || pTableName || ' ...');
sqlStatement:='create table '|| pTableName ||' ( '
||' time_key timestamp(3) primary key, '
||' eqp_id char(6) not null, '
||' lot_id char(10) not null, '
||' spc_value number default 0 not null'
||') ';
execute immediate sqlStatement;
dbms_output.put_line('create table ' || pTableName || ' success.');
exception
when others then
dbms_output.put_line(sqlerrm);
raise;
end;