是否只是去掉了table_name最后两位.
create or replace procedure test(table_name in varchar2)
as
type t_sor is ref cursor;
v_sor t_sor;
str varchar2(100);
begin
str:='select * from '||substr(table_name,1,length(table_name)-2);
open v_sor for str;
...
end;
/
create or replace procedure test(table_name in varchar2)
as
type t_sor is ref cursor;
v_sor t_sor;
str varchar2(100);
begin
str:='select * from '||substr(table_name,1,length(table_name)-2);
open v_sor for str;
...
end;
/
还需要动态sql?08:33:08 SQL> select substr('1234567',1,length('1234567')-2) from dual;SUBST
-----
12345实际:902
08:33:43 SQL>
vString varchar2(100);
vLength number;
begin
vString := '.........';
vLength := length(vString);
vString := substr(vString, 1, vLength-2); dbms_output.putline(vString);
end;