PostgreSQL dane z widoku.

PostgreSQL dane z widoku.
Paweł Górski
  • Rejestracja: dni
  • Ostatnio: dni
  • 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.

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

SOA #1

Paweł Górski
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 16
0

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

R7
  • Rejestracja: dni
  • Ostatnio: dni
  • 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: dni
  • Ostatnio: dni
  • 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%';
KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5549
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!

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • 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

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.