Anonymer PLSQL Block in einer Prozedure dynamisch machen ?

Dany4

Benutzer
Beiträge
7
Code:
BEGIN
  FOR r  IN
  (SELECT *
  FROM BSP@vas_db ag
  )
  LOOP
    BEGIN
      INSERT INTO zz_db.BSP VALUES r;
   
    END;
  END LOOP;
END;
/

Wie kann ich den ganzen Code in eine Prozedure umwandeln die dann dynamisch aufgerufen werden kann?
Es handelt sich dabei um 2 Datenbanken vas_db auf die ich mit Datenbank link zugreife &
die zz_db.

Code:
Procedure xy (
    table_name_in varchar2
    table_name_out varchar2)
AS
sql_stmt string (200);
BEGIN
sql_stmt:= 'select * from'|| table_name_in;
execute immediate sql_stmt INTO table_name_out;
END xy;
 
ERROR: Cannot insert/fetch into table
 
Werbung:

PLSQL_SQL

Datenbank-Guru
Beiträge
176
Hy,

indem du deinen anonymen PLSQL-Block als String in eine Variable schreibst und anschließend mit execute immediate ausführst!

HTH
 
Oben