PLSQL przekazywanie parametrow
alpha - 07-02-2006 10:13
PLSQL przekazywanie parametrow
Mam pytanie, pewnie trywialne dla znawcow ale ja dopiero zaczynam, w jakis sposob (o ile wogole sie da) przekazac do funkcji jako parametr nazwe wlasciela tabeli a takze nazwe samej tabeli zeby mozna bylo je wykorzystac w zapytaniach. bardzo by mi to pomoglo takze z gory dzieki za wszelka pomoc
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 07-02-2006 10:13
Dnia Tue, 7 Feb 2006 09:38:47 +0100, "alpha" <alfa28@_no_spam_go2.pl> wklepał(-a):
>Mam pytanie, pewnie trywialne dla znawcow ale ja dopiero zaczynam, >w jakis sposob (o ile wogole sie da) przekazac do funkcji jako parametr >nazwe wlasciela tabeli a takze nazwe samej tabeli zeby mozna bylo je >wykorzystac w zapytaniach. bardzo by mi to pomoglo takze z gory dzieki za >wszelka pomoc
Zainteresuj się perspektywą ALL_TABLES. A jeśli chcesz mieć tabelę jako parametr, to oznacza zapewne dynamiczny SQL. Trzeba go używać oszczędnie i z głową, gdyż niewłaściwe użycie powoduje znaczny spadek wydajności zapytań. -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
alpha - 07-02-2006 10:13
Użytkownik "Sławomir Szyszło" <slaszysz@poczta.onet.pl> napisał w wiadomości news:ds9r72.1a8.1@slaszysz.poczta.onet.pl... > Dnia Tue, 7 Feb 2006 09:38:47 +0100, "alpha" <alfa28@_no_spam_go2.pl> > wklepał(-a): > >>Mam pytanie, pewnie trywialne dla znawcow ale ja dopiero zaczynam, >>w jakis sposob (o ile wogole sie da) przekazac do funkcji jako parametr >>nazwe wlasciela tabeli a takze nazwe samej tabeli zeby mozna bylo je >>wykorzystac w zapytaniach. bardzo by mi to pomoglo takze z gory dzieki za >>wszelka pomoc > > Zainteresuj się perspektywą ALL_TABLES. A jeśli chcesz mieć tabelę jako > parametr, to oznacza zapewne dynamiczny SQL. Trzeba go używać oszczędnie i > z > głową, gdyż niewłaściwe użycie powoduje znaczny spadek wydajności zapytań. > -- > Sławomir Szyszło mailto:slaszysz@poczta.onet.pl > Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych > FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ > Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
moze wyjasnie jasniej ;) mam kilku uzykownikow oracla. kazdy z nich jest wlascicielem kilkudziesieciu takich samych tabel (z roznymi danymi oczywiscie). mam tez uzytkownika ktory ma mozliwosc modyfikowania wszystkich tabel wszystkich uzytkownikow i na tym uzytkowniku mam procedure ktora wykonuje jakies tam operacje na tych tabelach. teraz musze miec tyle kopii tej procedury co uzytkownikow albo za kazdym razem ja zmieniac i wgrywac na nowo. chcialbym robic to dynamicznie - tzn. jako parametr podawac nazwe uzytkownika do zmiany. dodatkowo czesc z tych operacji rozni sie tylko nazwa tabeli wiec jeszcze bardziej by mi uproscilo jakbym mogl podawac jako parametr do procedury/funkcji nazwe tabeli
dzieki
Slawomir Cichy - 08-02-2006 17:23
alpha wrote: > Użytkownik "Sławomir Szyszło" <slaszysz@poczta.onet.pl> napisał w wiadomości > news:ds9r72.1a8.1@slaszysz.poczta.onet.pl... > Zakladam, ze te tabele maja taka sama strukture tzn. takie same pola i ich definicje. tabele nazywaja sie table1, table2, .., tableX
Jako wzor definicji tabel obieram sobie table1
Przykladowa procedurka inserta:
cerate procedure insert2table (p_suser varchar2, p_table varchar2, p_value_field table%rowtype) is
begin execute immediate 'insert into '||p_user||'.'}}p_table ||' (id, pole1, pole2) values (:1, :2, :3)' using p_value_field.id, p_value_field.pole2, p_calue_field.pole3; commit; end;
pozdrawiam Slawas
alpha - 09-02-2006 08:07
Użytkownik "Slawomir Cichy" <xxxxx@incognito.pl> napisał w wiadomości news:dscn29$4c2$1@news.task.gda.pl... > alpha wrote: >> Użytkownik "Sławomir Szyszło" <slaszysz@poczta.onet.pl> napisał w >> wiadomości news:ds9r72.1a8.1@slaszysz.poczta.onet.pl... >> > Zakladam, ze te tabele maja taka sama strukture tzn. takie same pola i ich > definicje. tabele nazywaja sie table1, table2, .., tableX > > Jako wzor definicji tabel obieram sobie table1 > > Przykladowa procedurka inserta: > > cerate procedure insert2table (p_suser varchar2, p_table varchar2, > p_value_field table%rowtype) is > > begin > execute immediate > 'insert into '||p_user||'.'}}p_table ||' (id, pole1, pole2) values (:1, > :2, :3)' > using > p_value_field.id, > p_value_field.pole2, > p_calue_field.pole3; > commit; > end; > > > pozdrawiam > Slawas
dzieki bardzo o to wlasnie mi chodzilo. pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MySQL] =?ISO-8859-2?Q?Odwr=F3cenie_domy=B6lnego_order_by=2C?==?ISO-8859-2?Q?_ale_bez_parametru=2E?=
=?iso-8859-2?q?[Mysql_5=2E0]_Wywo=B3ywanie_procedury_jako_parametr_funkcji?=
=?iso-8859-2?q?Nazwa_Tabeli_jako_parametr_w_procedurze_sk=B3a dowanej?=
Nazwa tabeli jako parametr do procedury dla SQL2005 Server - jakprzekazac?
Wacom UD 1212-R Digitizer II Ultra Pad jakie ma parametry
Jak stworzyś odnośnik do strony www z wyliczonym wcześniej parametrem.
Funkcja z =?ISO-8859-2?Q?tabel=B1_jako_parametrem_?=
Sql Serv 2000 - String z lista parametrem funkcji ?
ORA-02095: Podany parametr inicjalizacyjny nie moze byc modyfikowany
Postgres 8.2: invalid value for parametr "timezone_abbreviations":"Default" -pomocy!!!!
zanotowane.pldoc.pisz.plpdf.pisz.plmelooonka.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|