Oracle 8i, stored proc problem
Elita - 29-03-2006 00:26
Oracle 8i, stored proc problem
witam wszystkich
napisałem procedurę tworzącą tabelę, procedura kompiluje się jednak podczas uruchamiania wyskakują błędy, user na którym uruchamiam procedurę ma DBA
create or replace procedure stany_Walut is
tblName VARCHAR2(10); begin tblName:='tmp_6'; EXECUTE IMMEDIATE 'DROP TABLE '||tblName; EXECUTE IMMEDIATE 'CREATE TABLE ' ||tblName|| ' nrSwalut NUMBER(10),kwWal NUMBER(10,2),ilosc NUMBER(10),cKupna NUMBER (10,2),rodzWal VARCHAR2 (1)';
end stany_Walut;
błędy : BŁˇD w linii 1: ORA-00942: tabela lub perspektywa nie istnieje ORA-06512: przy "KANTOR. ORA-06512: przy linia 1
=?ISO-8859-2?Q?Micha=B3?= Kuratczyk - 29-03-2006 00:26
"Elita" <elita4all@wp.pl> wrote: > EXECUTE IMMEDIATE > 'CREATE TABLE ' ||tblName|| ' nrSwalut NUMBER(10),kwWal > NUMBER(10,2),ilosc NUMBER(10),cKupna NUMBER (10,2),rodzWal VARCHAR2 > (1)';
Tak na pierwszy rzut oka, to brakuje nawiasów otaczających definicje kolumn.
-- Michał Kuratczyk
Elita - 29-03-2006 00:26
wstawiłem nawiasy, to samo
Radosław Witkowicki - 29-03-2006 00:26
"Elita" <elita4all@wp.pl> wrote in message news:e0ardp$df1$1@nemesis.news.tpi.pl... > witam wszystkich > > napisałem procedurę tworzącą tabelę, procedura kompiluje się jednak > podczas > uruchamiania wyskakują błędy, user na którym uruchamiam procedurę ma DBA > > > create or replace procedure stany_Walut is > > tblName VARCHAR2(10); > begin > tblName:='tmp_6'; > EXECUTE IMMEDIATE 'DROP TABLE '||tblName; > EXECUTE IMMEDIATE > 'CREATE TABLE ' ||tblName|| ' nrSwalut NUMBER(10),kwWal > NUMBER(10,2),ilosc NUMBER(10),cKupna NUMBER (10,2),rodzWal VARCHAR2 > (1)'; > > end stany_Walut;
A zadeklarowaleś w SQL *Plus-ie zmienne środowiskowe??
Slawomir Cichy - 29-03-2006 00:26
Elita wrote: > witam wszystkich > > napisałem procedurę tworzącą tabelę, procedura kompiluje się jednak podczas > uruchamiania wyskakują błędy, user na którym uruchamiam procedurę ma DBA > > > create or replace procedure stany_Walut is > > tblName VARCHAR2(10); > begin > tblName:='tmp_6'; > EXECUTE IMMEDIATE 'DROP TABLE '||tblName; > EXECUTE IMMEDIATE > 'CREATE TABLE ' ||tblName|| ' nrSwalut NUMBER(10),kwWal > NUMBER(10,2),ilosc NUMBER(10),cKupna NUMBER (10,2),rodzWal VARCHAR2 (1)'; > > end stany_Walut; > > błędy : > BŁˇD w linii 1: > ORA-00942: tabela lub perspektywa nie istnieje > ORA-06512: przy "KANTOR. > ORA-06512: przy linia 1 > >
pewnie chcesz dropnac tabele, ktorej nie ma :) POwinienes obsluzyc wyjatek, w sytuacji kiedy tabela jeszcze nie istnieje. Poza tym brakuje nawiasow w klauzuli tworzenia tablicy.
create or replace procedure stany_Walut is
tblName VARCHAR2(10); begin tblName:='tmp_6'; begin EXECUTE IMMEDIATE 'DROP TABLE '||tblName; exception when others then -- obsluga bledu - albo nie rob nic dbms_out.put_line('Tablica nie istniala'); end; begin EXECUTE IMMEDIATE 'CREATE TABLE '||tblName||' ' || '( ' || ' nrSwalut NUMBER(10),' || ' kwWal NUMBER(10,2),' || ' ilosc NUMBER(10), || ' cKupna NUMBER (10,2),' || ' rodzWal VARCHAR2 (1) ' || ')'; exception when others then -- obsluga bledu - albo nie rob nic dbms_out.put_line('Tablica nie mogla zostac utworzona'); end;
end stany_Walut;
Lucyna Witkowska - 30-03-2006 00:13
Elita <elita4all@wp.pl> napisał: > napisałem procedurę tworzącą tabelę, procedura kompiluje się jednak podczas > uruchamiania wyskakują błędy, user na którym uruchamiam procedurę ma DBA
> create or replace procedure stany_Walut is
> tblName VARCHAR2(10); > begin > tblName:='tmp_6'; > EXECUTE IMMEDIATE 'DROP TABLE '||tblName; > EXECUTE IMMEDIATE > 'CREATE TABLE ' ||tblName|| ' nrSwalut NUMBER(10),kwWal > NUMBER(10,2),ilosc NUMBER(10),cKupna NUMBER (10,2),rodzWal VARCHAR2 (1)';
> end stany_Walut;
> błędy : > BŁˇD w linii 1: > ORA-00942: tabela lub perspektywa nie istnieje > ORA-06512: przy "KANTOR. > ORA-06512: przy linia 1
Wylecialo juz przy pierwszym EXECUTE - nadaj uzytkownikowi przywilej DROP ANY TABLE bezposrednio (przez role DBA nie dziala w procedurach).
Pozdrowienia, LW PS. Drugi EXECUTE ma bledy - napisano juz jakie.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plnawschodzie.xlx.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 |
|