Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> pl/pgsql problem, tworzenie nazy tabeli
fidel69
post 27.07.2007, 18:58:24
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.07.2007

Ostrzeżenie: (0%)
-----


Witam,


Szukalem odpowiedzi na moje pytanie w sieci, ale przedewszystkim w literaturze i nie odnalazlem, wiec zwracam sie do bardziej doswiadczonych, otoz problem polega na tym ze w funkcji w pl/pgsql chce stworzyc nazwe tabeli ktora pozniej chce wykorszystac w kolejnym zapytaniu, w moim przypadku wynosi:

zam_1_chirurgia ktore tworze nastepujaco:

  1. nazwa_tab=''zam_'' || licznik_1 || ''_'' || nazwa_oddzialu.nazwa ;


nazwa typ: text
licznik_1 typ integer
nazwa_oddzialu.nazwa to oczywiscie record

i nastepnie che uzyc tej nazwy w zapytaniu do tej odpowiedniej tabeli:

  1. SELECT INTO suma_lek * FROM nazwa_tab WHERE bloz_id=nr.bloz_id;


z tego co widze cos takiego jest niedozwolone ?, czy ja popelniam blad w skladni ?..a moze jest inne rozwiazanie ?


to blad po wywolaniu funkcji:

  1. ERROR: syntax error at OR near "$1" at character 17
  2. QUERY: SELECT * FROM $1 WHERE bloz_id= $2
  3. CONTEXT: PL/pgSQL FUNCTION "oblicz_zapas" line 23 at SELECT INTO VARIABLES



Dziekuje za wszelkie sugestie...

Ten post edytował fidel69 27.07.2007, 18:59:53
Go to the top of the page
+Quote Post
prond
post 28.07.2007, 09:54:45
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Żeby wziąć nazwę tabeli ze zmiennej musisz wykorzystać w PL/pgSQL funkcję EXECUTE.
Np.:
  1. FOR my_row IN EXECUTE 'SELECT * FROM '||table_name||';'; RETURN NEXT my_row;
  2. END LOOP;


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 06:22