Czy procedura PL/SQL może przyjmować zmienną liczbę argumentów?Zmienna liczba argumentów w procedurze przechowywanej PL/SQL
W moim przypadku procedura jest wywoływana przez przycisk przesyłania formularza, a formularz ma zmienną liczbę wejść.
Czy procedura PL/SQL może przyjmować zmienną liczbę argumentów?Zmienna liczba argumentów w procedurze przechowywanej PL/SQL
W moim przypadku procedura jest wywoływana przez przycisk przesyłania formularza, a formularz ma zmienną liczbę wejść.
Nie wspominając, ale są używasz mod_plsql?
Jeśli tak, powinieneś przeczytać o flexible parameter passing.
W skrócie, należy poprzedzić nazwę procedury wykrzyknikiem w przeglądarce i zdefiniować procedurę za pomocą atrybutu name i value_array.
Szukałem elastycznego przekazywania parametrów, tak jak powiedziałeś, i znalazłem to: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:19276873018565 Problem rozwiązany ! Bardzo dziękuję – Moltes
Dzięki za akceptację. Tekst w mojej odpowiedzi jest również linkiem i uratowałby cię przed ponownym przeszukaniem :-) –
Sortuj. Możesz podać domyślne wartości parametrów procedury:
CREATE PROCEDURE myproc(p_value_a NUMBER DEFAULT 1,
p_value_b NUMBER DEFAULT 2) AS
...
który można nazwać tak:
myproc(999);
lub tak:
myproc (p_value_b => 11);
Wolałbym używać wartości NULL jako wartości domyślnej. Ale poza tym odpowiedź jest dobra. – Codo
Myślałem o wartościach domyślnych, ale liczba argumentów może być bardzo duża. Procedura ze 100 argumentami z pustą wartością domyślną, dziwne, nie? – Moltes
Nigdy nie widziałem procedury, która wymaga 100 argumentów. Jeśli masz 100 zmiennych formularza, musisz wykonać pewne przetwarzanie po stronie serwera przed wysłaniem go do bazy danych. – eaolson
imo użyj wartości domyślnych lub stwórz kilka przeciążeń wywołujących procedurę podstawową. Umieść wszystkie typowe przetwarzanie w proccie podstawowym, który jest wywoływany przez wszystkie inne przeciążone proc. Przeciążone proc'y będą miały oczywiście dodatkowe przetwarzanie związane z tym wywołaniem. – tbone