![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 30.08.2009 Ostrzeżenie: (0%)
|
Mam pytanko, jak w sql-u sprawdzić czy zmienna istnieje, nie chodzi mi o sprawdzenie czy zmienna ma wartość NULL, tylko czy wogóle istnieje... Gdy wpiszę zapytanie:
IF :GLOBAL.ZMIENNA1 IS NUL ........ .... ELSE ..... END IF; a zmienna globalna 'zmienna1' nie istnieje pojawia się błąd brak danych. Znalazłem że w PHP jest funkcja isset, ale czy jest jej odpowiednik w sql-u?(IMG:style_emoticons/default/questionmark.gif) Z góry dziękuję za pomoc |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 21.10.2008 Ostrzeżenie: (0%)
|
Nie do końca potrafię zrozumieć, co chcesz osiągnąć. W PHP isset() może służyć do wielu przydatny rzeczy, np. sprawdzenia czy w URLu przekazano daną zmienną. W Oracle takich rzeczy się nie robi. Jedyne zmienne o charakterze globalnym w PL/SQL to te z pakietów. W pakiecie albo zmienna występuje (niezależnie od tego, czy w sekcji inicjalizacji pakietu lub innym miejscu przypisano jej wartość), albo nie. Napisz co chcesz osiągnąć (jakiś kontekst).
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 30.08.2009 Ostrzeżenie: (0%)
|
Przyjmijmy że mamy główne menu (formularz) w którym mamy przyciski uruchamiające odpowiednie formularze np A,B,C.
Z poziomu menu owe formularze są uruchamiane bez parametrów(czyt. bez przekazywania zmiennych globalnych). Ale na przykład uruchamiam formularz B z którego następnie wywołuje formularz A przekazując do niego za pomocą zmiennych globalnych odpowiednie parametry. I tu jest mój problem jeśli w formularzu A zastosuje polecenie używające owej zmiennej globalnej to w przypadku zainicjowania go przez formularz B wszystko jest ok, natomiast w przypadku inicjacji formularza A z poziomu menu (gdzie nie była definiowana żadna zmienna globalna i brak jest parametrów) pojawia się błąd związany z brakiem owej zmiennej globalnej. Póki co jedynym rozwiązaniem jest chyba zainicjowanie wszystkich zmiennych globalnych na samym początku, ale wolałbym tego uniknąć.. Myślę że teraz już wyjaśniłem dokładnie mój problem i może ktoś wie jak mi pomóc. Z góry dziękuję... (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 1 Dołączył: 21.10.2008 Ostrzeżenie: (0%)
|
Poczytaj o NAME_IN oraz DEFAULT_VALUE.
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 30.08.2009 Ostrzeżenie: (0%)
|
No nie bardzo widzę tu rozwiązanie gdyż z tego co popatrzyłem to polecenie NAME_IN daje dostęp do innego bloku danych ale w ramach tego samego formularza, a DEFAULT_VALUE to ustawienie wrtości domyślnej, i gdzie tu rozwiązanie?(IMG:style_emoticons/default/questionmark.gif) Nie bardzo wiem na czym polega Twoje rozumowanie możesz mi bliżej wyjaśnić jak chciałeś wykorzystać te polecenia?? Będę wdzieczny... Pozdrawiam
Chyba już kumam jak to chciałeś zrobić i póki co działa (IMG:style_emoticons/default/smile.gif) . Oczywiście wykorzystuje DEFAULT_VALUE bo NAME_IN nie bardzo wiem jak wykorzystać w tej sytuacji. Ale i tak dzięki za wskazówkę pozdrawiam.. |
|
|
|
![]() ![]() |
|
Aktualny czas: 10.06.2026 - 18:43 |