当我写一个存储过程时,需要传入一个变量值,这个变量值是一个表名,但是写存储过程时这个变量值始终不认,想请教大家:如何动态的定义一张表的表名?
解决方案 »
- Oracle的CAT、TAB表与user_tables表
- 关于distinct和group by having count()=1的区别
- sql查询语句,望指教
- oracle 去重统计 与统计方法的探讨
- 请教一条Oracle查询语句
- 求ORACLE恢复的相关资料,本人想了解一下这方面的知识
- 请高手指点,为什么我的dbms_job执行不成功?
- oracle怎么屏蔽关键字
- 双网卡引起的oracle连接问题
- oracle817,如何更改一个表中字段的长度?varchar2型,原来定义为3000,现在要改为2000
- oracle9i客户端如何通各一台服务器连接另一台服务器上的oracle9i?
- 还是来看看吧,关于批量update的,值得研究呀
这样不行?
create or repalce function A(name varchar)
is
begin
select * from ||name||;
end;
你用的oracle 是什么版本?
9i及后续版本支持execute immediate ,若是oracle 8i或以下,只能使用 DBMS_SQL包执行DDL语句了。
is
begin
declare
Sqlstrvarchar2(2000);
begin
sqlstr:='create table ||'TEMPTABLE'||
(
a VARCHAR(30),
b VARCHAR(50)
)';execute immediate Sqlstr;
end;
end;