Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Procedura w procedurze
Forum PHP.pl > Forum > Bazy danych > Oracle
vander1989
Witam !
Mam pytanko smile.gif Czy jest możliwośc wywołania procedury w procedurze questionmark.gif Czy dynamicznym sqlem da się to zrobic questionmark.gif
  1. a:= ' Execute procedure('parametry');';
  2. execute immediate a;
  3.  


i czy składnia tego powinna wygladac mniej wiecej tak? czy są na to jakies inne sposoby?
IP!
Cześć,

Można robić wiele ciekawych rzeczy z NDS w roli głównej, np:

  1. CREATE OR REPLACE PROCEDURE p2(b IN NUMBER) AS
  2. BEGIN
  3. DBMS_OUTPUT.PUT_LINE(b * b);
  4. END;
  5. /
  6.  
  7. DECLARE
  8. PROCEDURE p1(a IN NUMBER) AS
  9. BEGIN p2(a);
  10. END;
  11.  
  12. PROCEDURE p3(a IN NUMBER) AS
  13. stat VARCHAR2(20);
  14. BEGIN NULL;
  15. EXECUTE IMMEDIATE 'BEGIN p2(:1); END;' USING 4;
  16. END;
  17.  
  18. BEGIN
  19. p1(3);
  20. p3(4);
  21. END;
  22. /


Oczywiście że można wywoływać też procedurę z procedury - dynamicznie lub nie. W końcu PUT_LINE z pakietu DBMS_OUTPUT to też podprogram, który jest często wołany z ciała procedur.

Napisz czy o to Ci chodziło.

Przy okazji proponuje zapoznać się z tym:
http://www.pastusiak.info/oracle/bind_vari..._in_sql_scripts
http://www.pastusiak.info/oracle/native_dynamic_sql
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.