1
我想編寫一個函數來返回名稱作爲變量傳入的表的行計數。這裏是我的代碼:作爲plsql參數傳入表名
create or replace function get_table_count (table_name IN varchar2)
return number
is
tbl_nm varchar(100) := table_name;
table_count number;
begin
select count(*)
into table_count
from tbl_nm;
dbms_output.put_line(table_count);
return table_count;
end;
我得到這個錯誤:
FUNCTION GET_TABLE_COUNT compiled
Errors: check compiler log
Error(7,5): PL/SQL: SQL Statement ignored
Error(9,8): PL/SQL: ORA-00942: table or view does not exist
我明白tbl_nm
被解釋爲一個值,而不是一個參考,我不知道如何逃脫。
我想補充一下,第二個選項是你不需要驗證table_name的主要優點(記得[Little Bobby Tables](http://xkcd.com/327/)...) –