2016-07-31 7 views
0

// Die unten stehende Aktualisierungsanweisung ist in meiner gespeicherten Prozedur vorhanden. Ich übergebe zwei Parameter (Parameter 1 und 2) während der Stored-Prozedur. Nach dem Ausführen der Stored-Prozedur möchte ich die verschiedenen aktualisierten Werte angezeigt werden. bitte den Code für das folgende Beispiel zur Verfügung stellt (meine gespeicherte Prozedur)So zeigen Sie die aktualisierten Werte verschiedener Tabellen mithilfe der gespeicherten Prozedur an Oracle

CREATE OR REPLACE PROCEDURE UPDATE_TABLE(parameter1 IN NUMBER, parameter IN varchar2) 
AS 
BEGIN 

    UPDATE Table1 SET column_a = (parameter1 +2) WHERE id= parameter2; 
    update Table2 set column_b= parameter1 where id=parameter2; 

END UPDATE_TABLE 
+0

Warum nicht einfach die Tabelle abfragen, nachdem Sie die Aktualisierung abgeschlossen haben? – Mureinik

+0

@Mureinik: Ich möchte, dass die Werte angezeigt werden..Es könnte eine Reihe von Tabellen aktualisiert werden. – Abhishek

+0

Was möchten Sie angezeigt werden? Aktualisierte Spalte_a und Spalte_b? –

Antwort

0

Verwenden returning Klausel + bulk collect. Ich weiß nicht, zu welchem ​​Zweck diese aktualisierten Daten angezeigt werden müssen. Unter Ansatz für einen Ihrer Tabelle. Sie können es mit anderen teilen.

DECLARE 
    TYPE t_type is table of VARCHAR2(250); 
    l_type t_type; 
    begin 
     UPDATE Table1 SET column_a = (parameter1 +2) RETURNING column_a BULK COLLECT INTO l_type; 

     FOR i IN 1..l_type.count 
     LOOP 
      DBMS_OUTPUT.PUT_LINE(l_type(i)); 
     END LOOP; 
    END; 
Verwandte Themen