PL / SQL将输入作为表

时间:2016-02-24 18:40:34

标签: sql oracle plsql

DECLARE 
 tablename table;
 nor number(10);
BEGIN 
    tablename:=&tablename;
    select count(*) into nor from tablename;
    dbms_output.put_line('The number of rows are '||nor);
END;
/

我正在使用此代码将表名作为用户输入并显示行数但显示错误但是如果使用特定的表名则运行正常!

1 个答案:

答案 0 :(得分:1)

DECLARE 
 tablename table;
 nor number(10);
BEGIN 
    tablename:=&tablename;
    execute immediate 'select count(*) from '|| tablename
      into nor;
    dbms_output.put_line('The number of rows are '||nor);
END;
/

您可以尝试使用EXECUTE IMMDEDIATE