这个参数用于指定一个表名,也就是说存储过程内部根据传入的参数查询指定的表。不知道如何写。下面的代码是我用来表达意思的,无法执行。希望大家帮我看看,正确的应该怎么写呀?
create procedure Myproc1(tablename in varchar2)
begin
select * from tablename
end执行又该怎么样呢?
create procedure Myproc1(tablename in varchar2)
begin
select * from tablename
end执行又该怎么样呢?
EXEC Myproc1('tablename')?
你那个在SQL SERVER上是可以执行的
begin
EXECUTE IMMEDIATE 'select COUNT(*) from '||tablename INTO nums;
end ;
/SET SERVEROUTPUT ON
DECLARE
l_tablename VARCHAR2(30);
l_nums NUMBER;
BEGIN
l_tablename := 'USER_TABLES';
Myproc1(l_tablename, l_nums);
--下面一行显示l_nums
DBMS_OUTPUT.PUT_LINE(l_nums);
END;
/