我现在想在存储过程中对一系列表进行操作,除了表名不同,操作都是相同的。怎样可以使用变量作为表名啊?
create or replace procedure case_to_province as
cursor cur is
select * from tableName
……
我就是想把这个tableName用变量来表示,这样我在调用存储过程的时候,只要换一下参数就可以了,而不用根据不同的表名,来写多个存储过程。
create or replace procedure case_to_province as
cursor cur is
select * from tableName
……
我就是想把这个tableName用变量来表示,这样我在调用存储过程的时候,只要换一下参数就可以了,而不用根据不同的表名,来写多个存储过程。
解决方案 »
- vfp如何调用oracle存储过程实现数据导入
- aix下oracle function call c问题
- 动态DDL
- 连oracle10g接数据库几分钟后就自动断开
- 如何编程实现动态关闭或打开触发器
- select a.* from table1 a where a.field1 is not in (select b.field1 from table2 ) 这个语句在oracle里怎么写?
- 查询执行过的sql
- 在Oracle 8i 中 ,独立登陆到系统中,无法备份数据库,提示连接oms没有启动?
- 新手!我开始学ORACLE……下了几个东西不知道什么用途啊!
- 求求大神帮看看一下这是什么加密方式
- Oracle如何实现联查的TOP1
- 请教一个关于drop table的问题
str varchar2(4000);
begin
str := 'select * from '||tbname;
open c for str; --下面用显式调用,和游标一样。
end;
v_num NUMBER(10);
v_sql VARCHAR2(300);
BEGIN
v_sql:='select count(*) from '||tabname;
EXECUTE IMMEDIATE v_sql INTO v_num;
Dbms_Output.put_line('the total num is '||v_num);
END p01;EXEC p01('user_sequences');
输出结果为:
the total num is 8