我正在尝试创建一个显示指定用户创建的所有表的过程。以下是我到目前为止的情况:
CREATE OR REPLACE PROCEDURE user_tables
@username VARCHAR(50),
@result varchar(100000) OUTPUT
AS
BEGIN
-- Execution section
Set result = SELECT * FROM ALL_TABLES WHERE OWNER = @username;
EXCEPTION
-- Exception section
WHEN no_data_found THEN
dbms_output.put_line('User does not exist');
WHEN others THEN
dbms_output.put_line('Error!');
END;
我想知道这是否是正确的道路,以及我应该如何完成这项任务
答案 0 :(得分:0)
这是一个提示
BEGIN
FOR tn IN (SELECT table_name FROM all_tables /*WHERE owner = vc_User_Name*/)
LOOP
-- Display some stuff
DBMS_OUTPUT.PUT_LINE(tn.table_name);
END LOOP;
END;
/