PostgreSQL dane z widoku.

PostgreSQL dane z widoku.
Paweł Górski
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:16
0

Witam,

odczytuję dane z widoku, wszystko jest OK dopóki nie użyję klauzuli WHERE.
Po WHERE daję prosty warunek:

Kopiuj
select * from MojWidok where poleINT=1;

no i nic nie dostaję (w polu poleINT, są oczywiście dane).
Podobnie jest z polami gdzie są przetrzymywane stringi.
Jeżeli czytam dane z tabeli nie mam tego problemu.
O co chodzi z tymi widokami?

Pozdrawiam.

edytowany 1x, ostatnio: hauleth
Marcin.Miga
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 6 godzin
  • Postów:2792
0

SOA #1

Paweł Górski
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:16
0

Zamiast select , próbuję select count()
no i ten sam problem...

R7
  • Rejestracja:około 6 lat
  • Ostatnio:8 miesięcy
  • Postów:216
0

Szklana kula nieczynna, podaj jak wygląda definicja tabeli, widoku i parę insertów z przykładowymi danymi.

Paweł Górski
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:16
0

Oto definicja mojego widoku:

Kopiuj
CREATE OR REPLACE VIEW schemat.elm_dane_v AS
 SELECT e.id AS "ID",
    e.state AS "STATE",
    e.obj_id AS "OBJ_ID",
    e.txt AS "TXT",
    e.angle AS "ANGLE",
    e.date_lock AS "DATE_LOCK",
    o.am AS "AM",
    o.kod_a AS "KOD_A",
    o.naz_a AS "NAZ_A",
    o.kod_c AS "KOD_C",
    o.kwa AS "KWA",
   FROM elm_dane e,
    obj_dane o
  WHERE e.obj_id = o.id;

To zapytanie działa:

Kopiuj
SELECT count(*) FROM elm_dane_v;;

To nie działa:

Kopiuj
SELECT count(*) FROM elm_dane_v WHERE TXT LIKE '200%';
edytowany 1x, ostatnio: hauleth
hauleth
Wrappuj kod w znaczniki, czyta się zdecydowanie łatwiej.
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:29 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
3

Z tego co pamiętam SLQa to wielkość liter nie ma znaczenia przy indentyfikatorach (np nazwach kolumn), ale:

  • w Oraclu identyfikatory są wewnętrznie trzymane jako wielkie litery
  • w Postgresie identyfikatory są trzymane wewnętrznie jako małe litery

Żeby wymusić że wielkość liter będzie miała znaczenie używa się właśnie cudzysłowów, więc twój kod zadziała nawet najprawdopodobniej na Oraclu :D
Na Postgresie musisz napisać "TXT" LIKE '%2000' lub ... usunąć wszystkie cudzysłowy z definicji widoku!


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
abrakadaber
abrakadaber
jeśli by miała znaczenie wielkość liter w nazwach kolumn (!NIE DANYCH!) to by dostał błąd, że kolumna nie istnieje.
abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:8 miesięcy
  • Postów:6610
0

zrób zapytanie SELECT * FROM elm_dane_v;, znajdź w nim rekord/rekordy, pasujące do warunku TXT LIKE '200%', zrób screenshota i wklej go tutaj


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
edytowany 1x, ostatnio: abrakadaber

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.