Oracle 动态PL/SQL

Oracle 动态PL/SQL,oracle,plsql,Oracle,Plsql,在PL/SQL中,我希望将源模式和目标模式作为参数传递给存储过程。对于来源,我们可以使用: PROCEDURE select_from_schema( the_schema VARCHAR2) IS TYPE my_cursor_type IS REF CURSOR; my_cursor my_cursor_type; BEGIN OPEN my_cursor FOR 'SELECT my_field FROM '||the_schema||'.my_table'; -- D

在PL/SQL中,我希望将源模式和目标模式作为参数传递给存储过程。对于来源,我们可以使用:

PROCEDURE select_from_schema( the_schema VARCHAR2)
IS
  TYPE my_cursor_type IS REF CURSOR;
  my_cursor  my_cursor_type;
BEGIN
  OPEN my_cursor FOR 'SELECT my_field FROM '||the_schema||'.my_table';

  -- Do your FETCHes just as with a normal cursor

  CLOSE my_cursor;
END;
对于目标insert或update语句,我们如何在insert或update语句中使用该模式……有人知道我如何做到这一点吗


请原谅;我是一名初学者,必须快速编写一些函数。

您可以对插入或更新执行与选择使用动态SQL相同的操作,如下所示:


使用my_row.col1,my_row.col2…,执行立即“插入到”| | |目标| | | |“.my_表(col1,col2…)值(:val1,:val2…)

小心SQL注入。如果“theu schema”字符串包含来自的代码段,会发生什么情况?