用动态SQL。
CREATE OR REPLACE PROCEDURE TEST(I_TABLE IN VARCHAR2)
IS
BEGIN
DECLARE
STRSQL VARCHAR2(4000);
P_VALUE VARCHAR2(4000);
BEGIN
STRSQL := 'SELECT COL FROM ' || I_TABLE ; --COL为字段名,保证能且只返回一行
EXECUTE IMMEDIATE STRSQL RETURNING P_VALUE ;
EXCEPTION
WHEN OTHERS THEN
--这里是异常处理
P_VALUE := '';
END;
END;
/
不明白可以追问。