1

Temat: Tymczasowe Tabele

Witam, mam problem z odczytem danych umieszczony w tabeli tymczasowej.
Generalnie to chciałbym umieć takie dane odczytać i wyczyścić po zakończeniu transakcji.
wiem jak taką tabelę utworzyć i wpisać do niej dane ale nie wiem jak je stamtąd wyciągnąć.

2

Odp: Tymczasowe Tabele

Moze troche konkretniej bo nie wiem na czym polega  problem z odczytem danych z tabeli tymczasowej.

3

Odp: Tymczasowe Tabele

Tworzę sobie tabelę:

CREATE TEMPORARY TABLE TABLE_BUFF_bufor_towarow_sprzedaz(
id bigserial not null,
id_towaru bigint null,
flag boolean not null,
dodal integer not null,
nazwa varchar(128) not null,
nazwa_fiskalna varchar(16) null,
nr_fvz varchar(32) null,
id_jm integer not null,
id_typ text null,
ilosc float not null,
cena float not null,
cena_sprz float not null,
sn varchar(128) null,
created_by integer null,
modified_by integer null,
created_date date null,
modified_date date null,
opis text null,
gwarancja varchar(64) null,
vat varchar(16) not null,
PRIMARY KEY(id));

Dalej wstawiam do tej tabeli dane w transakcji i wszystko przebiega prawidłowo bez żadnych błędów.
Pytanie tylko jak odczytać dane z tej tabeli w celu sprawdzenia czy one tam faktycznie są.

4

Odp: Tymczasowe Tabele

ok już mam, gdyby ktoś potrzebował to w wersji 8.3.3 PostgreSQL robi się to tak:

SELECT * FROM pg_temp_3.tabela;

5

Odp: Tymczasowe Tabele

Jak sobie dodasz pg_temp_3 do search_path to wystarczy tylko nazwa tabeli (problem moze sie pojawic gdy tabele tymczasowe bedziesz nazywal tak samo jak tabele nietymczasowe, mozliwe ze wtedy pewne tabele bedziesz musial prefiskowac nazwami schematow)

6

Odp: Tymczasowe Tabele

Ostatnio edytowany przez rafko (2008-08-19 15:27:20)

7

Odp: Tymczasowe Tabele

a co ci zwraca jak zrobisz zwyklego selecta (bez schematu), ze nie ma takiej tabeli?
robisz to wszystko z poziomu pgAdmin3?, a jak dziala z linii komend (psql)?
Nie mozesz utworzyc tabeli tymczasowej w schemacie publicznym?

Ostatnio edytowany przez rski (2008-08-19 18:36:40)

8

Odp: Tymczasowe Tabele

Ostatnio edytowany przez rafko (2008-08-20 17:05:31)

9

Odp: Tymczasowe Tabele

rzeczywiscie cos mi sie pomieszalo, nie mozna prefiksowac tabel tymczasowych.
Co ci zwracają

select pg_table_is_visible('nazwa_tabeli_tymczasowej'::regclass);
select current_schemas(true);

10

Odp: Tymczasowe Tabele

Ostatnio edytowany przez rafko (2008-08-21 15:13:50)

11

Odp: Tymczasowe Tabele

wszystkie te operacje robisz z poziomu PgAdmina? Moze to on nawalam sam osobiscie nie uzywam tego narzedzia wiec ciezko mi sie wypowiedziec ale widac, ze nie wrzuca do search_path schematow z tabelami tymczasowymi. Czy z poziomu psql otrzymujesz takie same wyniki tych dwu ostatnich zapytań?

12

Odp: Tymczasowe Tabele

dokładnie te same wyniki dostaję w psql jak i pgAdmin3