ďťż
 
[PL/SQL] Operacje na plikach ďťż
 
[PL/SQL] Operacje na plikach
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[PL/SQL] Operacje na plikach



marekkuj@gmail.com - 21-06-2007 00:03
[PL/SQL] Operacje na plikach
  Jak moge wysłać wynik przetwarzania jezyka pl/sql na bazie danych
oracle do pliku ? jak moge odczytac pewne dane z pliku tekstowego za
pomoca jezyka pl/sql?
Lub jak zainicjowac tablice taka zwykla tablice jak w jezyku C czy
jakim kolwiek innym i zapisac tam pewne dane .. w jezyku pl/sql?





Ralf - 21-06-2007 00:03

  marekkuj@gmail.com napisał(a):
> Jak moge wysłać wynik przetwarzania jezyka pl/sql na bazie danych
> oracle do pliku ? jak moge odczytac pewne dane z pliku tekstowego za
> pomoca jezyka pl/sql?
BFILE

> Lub jak zainicjowac tablice taka zwykla tablice jak w jezyku C czy
> jakim kolwiek innym i zapisac tam pewne dane .. w jezyku pl/sql?
>
Nie ma takiej struktury, jedynie kursory.

--
pozdrawiam
Rafał




Adamm - 21-06-2007 00:03

  Użytkownik "Ralf" <ralf_k@interia.bezspamu.pl> napisał w wiadomości
news:f5c2l1$e1u$1@nemesis.news.tpi.pl...
> marekkuj@gmail.com napisał(a):
>> Jak moge wysłać wynik przetwarzania jezyka pl/sql na bazie danych
>> oracle do pliku ? jak moge odczytac pewne dane z pliku tekstowego za
>> pomoca jezyka pl/sql?
> BFILE

Zapewne nie o to chodziło koledze
poczytaj o pakiecie UTL_FILE i CREATE DIRECTORY

a tu masz prosty przykładzik :
FUNCTION OPEN_LOG_FILE (p_file_name_pref in varchar2)
RETURN BOOLEAN
IS
--
l_file UTL_FILE.FILE_TYPE;
l_path VARCHAR2(500);
l_file_name VARCHAR2(500):=
p_file_name_pref||'_TIME'||to_char(sysdate,'YYYYMM DD_HH24MISS')||'.txt';
--
BEGIN
--
l_path := substr(l_path,1,instr(l_path,',')-1);
--
l_file := UTL_FILE.FOPEN(l_path,l_file_name,'w');
--
return true;
EXEPTIONS
when others then
return false;
END OPEN_LOG_FILE;

>
>> Lub jak zainicjowac tablice taka zwykla tablice jak w jezyku C czy
>> jakim kolwiek innym i zapisac tam pewne dane .. w jezyku pl/sql?
>>
> Nie ma takiej struktury, jedynie kursory.

Chyba dopiero zaczynasz przygodę z pl/sqlem, oczywiście że sa podobne
struktury
Tak na szybko masz przykładową deklarację:
TYPE r_rola_rec_t IS RECORD
( ROLA VARCHAR2(200)
, POZIOM VARCHAR2(10)
);
--
TYPE g_rola_array_t is table of r_rola_rec_t INDEX BY BINARY_INTEGER;
g_rola_array g_rola_array_t;

a więcej poczytaj o kolekcjach w języku pl/sql

Pozdrawiam
Adam




=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 21-06-2007 00:03

  Dnia Wed, 20 Jun 2007 22:23:39 +0200, Ralf <ralf_k@interia.bezspamu.pl>
wklepał(-a):

>> Lub jak zainicjowac tablice taka zwykla tablice jak w jezyku C czy
>> jakim kolwiek innym i zapisac tam pewne dane .. w jezyku pl/sql?
>>
>Nie ma takiej struktury, jedynie kursory.

Jak nie ma, jak są?

np.

TYPE rec IS RECORD (
k1 number
, k2 varchar2(30)
);

TYPE t_rec IS TABLE OF rec;

tab_rec t_rec := t_rec();

BEGIN
FOR k IN 1..10 LOOP
tab_rec.EXTEND;
tab_rec.k1(k) := k;
END LOOP;

FOR m IN tab_rec.FIRST .. tab_rec.LAST LOOP
dbms_output.put_line (tab_rec.k1(m));
END LOOP;

END;

Albo np. tak - żeby wczytać szybko jakąś tabelę:

TYPE rec IS RECORD (
k1 dbms_sql.number_table
, k2 dbms_sql.varchar2_table
);

tablica_rec rec;

cursor c_emp is
select empno, empname
from emp;

BEGIN
OPEN c_emp;
LOOP
FETCH c_emp BULK COLLECT INTO tablica_rec.k1, tablica_rec.k2 LIMIT 100;
-- tu coś robimy na tablicy:
FOR i IN 1..tablica_rec.k1.COUNT LOOP
dbms_output.put_line ('To jest pracownik nr '||tablica_rec.k1(i));
END LOOP;
EXIT WHEN c_emp%NOTFOUND;
-- a w następnym przejściu pętli pobieramy kolejne 100 rekordów
END LOOP;
CLOSE c_emp;
END;

Trzeba zajrzeć do dokumentacji PL/SQL - rozdział Collections and records.
--
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





szaman - 23-06-2007 00:03

  Everything You Need to Know About Collections, But Were Afraid to Ask
http://www.oracleplsqlprogramming.co...20to%20Ask.ppt
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= =?ISO-8859-2?Q?k=B3opot_z_uruchomieniem_MY_SQL_dla_C?==?ISO-8859-2?Q?MS_i_CRM_na_Fedora_Core_3?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?= [newbie] MS SQL - praca =?ISO-8859-2?Q?jednocze=B6nie_na_2_?==?ISO-8859-2?Q?bazach_=28linkowanie_=3F=29?= ms sql server - =?ISO-8859-2?Q?domy=B6lny_format_kolumn_ty?==?ISO-8859-2?Q?pu_datetime?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shanti.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com