sql - Run multiple Insert statements with dynamic schema name -



sql - Run multiple Insert statements with dynamic schema name -

i want run 100 insert statements of below insert`s in script. schema name db1 , db2 must used in placeholder variable sourcedatabase , targetdatabase.

declare sourcedatabase varchar2(50) := 'db1'; targetdatabase varchar2(50) := 'db2'; begin insert targetdatabase.tablename (select * sourcedatabase.tablename); insert targetdatabase.tablename (select * sourcedatabase.tablename); insert targetdatabase.tablename (select * sourcedatabase.tablename); ... commit end;

how can write in dynamic way oracle accepts statement?

do mean "database" in oracle definition of term? or mean "schema"? pseudocode posted appears assuming sourcedatabase , targetdatabase schemas in single database. if mean indicate separate databases, needd utilize database links query remote tables.

assuming mean schemas

declare l_src_schema varchar2(30) := 'source'; l_dest_schema varchar2(30) := 'destination'; l_sql_stmt varchar2(4000); begin l_sql_stmt := 'insert ' || l_dest_schema || '.table_name ' || ' select * ' || l_src_schema || '.table_name'; dbms_output.put_line( 'preparing execute: ' || l_sql_stmt; execute immediate l_sql_stmt; end;

note it's thought generate dynamic sql statement in separate variable can print out because makes debugging code much easier. otherwise, if there error, there no way retrieve actual sql statement code tried execute.

sql oracle oracle10g

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -