Thursday, August 30, 2012

Create table in procedure , table name as input.

--Run this script with system privileges.

set serveroutput on;
spool C:\Users\anandy\Scripts\ddl_create_proc.txt
CREATE OR REPLACE PROCEDURE ddl_create_proc (p_table_name IN VARCHAR2)
authid current_user
AS

l_stmt VARCHAR2(200);

BEGIN

DBMS_OUTPUT.put_line('STARTING ');

l_stmt := 'create table '|| p_table_name || ' as (select * from usermeta )';
DBMS_OUTPUT.put_line(l_stmt);
execute IMMEDIATE l_stmt;

DBMS_OUTPUT.put_line('end ');

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.put_line('exception '||SQLERRM || 'message'||sqlcode);

END;
/

declare
p_table_name varchar2(20):='Anand';
begin
ddl_create_proc(p_table_name);
end;
/

spool off;

No comments:

Post a Comment