Dlaczego zawsze otrzymuję następujący błąd od PostgreSQL?PostgreSQL IF-THEN-ELSE struktura kontrolna
syntax error at or near "IF"
czytam PostgreSQL: Documentation: 8.3: Control Structures. Najpierw próbował wykonać zapytanie trudne (z podzapytania), ale potem próbowałem wykonać jeden prosty takiego:
IF 2 <> 0 THEN select * from users; END IF;
błąd jest nadal taka sama. Co ja robię źle?
Oh, dziękuję za odpowiedź. Nie, właśnie szukałem, jak zrobić "lub wybrać", w zależności od stanu w "IF". Tak więc znalazłem, że nie ma sposobu, aby zrobić to w prosty sposób, jak to IF (SELECT ...) = 2 THEN SELECT ... ELSE SELECT ... END IF; – Elkan
Właściwie IF (wybierz a z t) = 2 THEN NULL; END IF; będzie działać, problem polega prawdopodobnie na tym, że próbujesz wybrać coś w kontekście, który niczego nie zwraca. W tym przypadku Pavel był doskonałym przykładem. Możesz użyć wyrażenia "RETURN QUERY", biorąc pod uwagę, że prawidłowo zdefiniowałeś swoją funkcję. – valgog