[ORACLE] - select kolumn tabeli
ZepZoSo - 29-06-2007 00:01
[ORACLE] - select kolumn tabeli
Witam, zostało wygenerowane kilkadziesiąt tabel o podobnej strukturze przy pomocy execute immediate. I jest coś takiego że jak chcę zrobić select * from tab1 to wszystko ok, ale gdy robię select kol1, kol2.. from tab1 rzuca ora-00904. Opis tu jest: http://www.techonthenet.com/oracle/errors/ora00904.php Aczkolwiek nic z tego nie popełniłem, wszystko jest jak najbardziej poprawne. Tabelki są, mają kolumny, elegancja. Nie można wyspecyfikować nazwy kolumny w selekcie. Gdzie może być pies pogrzebany, tzn. jak Oracle to wszystko sobie wyobraża?
-- oSoZpeZ
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 29-06-2007 00:01
Dnia Thu, 28 Jun 2007 22:03:21 +0200, "ZepZoSo" <TNIJ@gazeta.pl> wklepał(-a):
> Witam, >zostało wygenerowane kilkadziesiąt tabel o podobnej strukturze przy pomocy >execute immediate. >I jest coś takiego że jak chcę zrobić select * from tab1 to wszystko ok, ale >gdy robię select kol1, kol2.. from tab1 rzuca ora-00904. >Opis tu jest: >http://www.techonthenet.com/oracle/errors/ora00904.php >Aczkolwiek nic z tego nie popełniłem, wszystko jest jak najbardziej >poprawne. Tabelki są, mają kolumny, elegancja. Nie można wyspecyfikować >nazwy kolumny w selekcie. >Gdzie może być pies pogrzebany, tzn. jak Oracle to wszystko sobie wyobraża?
A nie zrobiłeś czegoś w rodzaju create table tab1 ("KOL1" number, "KOL2" varchar2(30), ...)?
Pokaż to polecenie, które tworzyło tabele. -- 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
ZepZoSo - 29-06-2007 00:01
Sławomir Szyszło brzdąka pod nosem: > A nie zrobiłeś czegoś w rodzaju > create table tab1 ("KOL1" number, "KOL2" varchar2(30), ...)?
No coś podobnego. Jak się to rozumie?
-- oSoZpeZ
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 29-06-2007 00:01
Dnia Thu, 28 Jun 2007 23:06:39 +0200, "ZepZoSo" <TNIJ@gazeta.pl> wklepał(-a):
>Sławomir Szyszło brzdąka pod nosem: >> A nie zrobiłeś czegoś w rodzaju >> create table tab1 ("KOL1" number, "KOL2" varchar2(30), ...)? > >No coś podobnego. Jak się to rozumie?
Jeśli utworzyłeś nazwy kolumn wielkimi literami, to tylko tak możesz się do nich odwoływać:
select KOL1, KOL2, ....
Tworząc obiekty nie pisz ich nazw w cudzysłowach, wtedy możesz używać małych i wielkich liter odwołując się do nich:
select kol1, KOl2, kOL3 from tab1 - wtedy zadziała
Wyjątek: nazwy obiektów zawarte w tabelach systemowych np. USER_TABLES - nazwa tabeli jest wpisana tam wielkimi literami:
select * from user_tables where table_name='TAB1'; - koniecznie wielkimi literami -- 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
Lucyna Witkowska - 30-06-2007 00:02
Sławomir Szyszło <slaszysz@poczta.onet.pl> napisał: > Jeśli utworzyłeś nazwy kolumn wielkimi literami, to tylko tak możesz się do nich > odwoływać:
> select KOL1, KOL2, ....
No nie - odwrotnie, jeśli nazwy są pisane małymi literami w cudzysłowach, to tylko tak można się do nich odwolać:
select "kol1", "kol2" ,....
> Wyjątek: nazwy obiektów zawarte w tabelach systemowych np. USER_TABLES - nazwa > tabeli jest wpisana tam wielkimi literami:
Ale to nie jest wyjątek - to jest standard - tak tez trzymane sa nazwy kolumn, chyba ze sa pisane małymi literami w cudzysłowach.
Pozdrowienia, LW
ZepZoSo - 30-06-2007 00:02
Sławomir Szyszło brzdąka pod nosem: > Jeśli utworzyłeś nazwy kolumn wielkimi literami, to tylko tak możesz > się do nich odwoływać: > > select KOL1, KOL2, .... > > Tworząc obiekty nie pisz ich nazw w cudzysłowach, wtedy możesz używać > małych i wielkich liter odwołując się do nich: > > select kol1, KOl2, kOL3 from tab1 - wtedy zadziała > > Wyjątek: nazwy obiektów zawarte w tabelach systemowych np. > USER_TABLES - nazwa tabeli jest wpisana tam wielkimi literami: > > select * from user_tables > where table_name='TAB1'; - koniecznie wielkimi literami
Dzięki serdeczne! Następnym razem z większą uwagą będę generował DDLe.
-- oSoZpeZ
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 30-06-2007 00:02
Dnia Fri, 29 Jun 2007 06:10:46 +0000 (UTC), Lucyna Witkowska <ypwitkow@nospamcyf-kr.edu.pl> wklepał(-a):
>No nie - odwrotnie, jeśli nazwy są pisane małymi literami w cudzysłowach, >to tylko tak można się do nich odwolać: > >select "kol1", "kol2" ,....
Faktycznie, jak się utworzy kolumny "KOL1" to można się odwoływać przez kol1 i KOL1. Zawsze mi się zdawało, że to działa w obie strony. -- 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
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] 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?=
[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?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
[Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?=
=?iso-8859-2?q?[oracle_10g]_jak_da=E6_grant_do_gv$=2E=2E=2E=2E_=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plquentinho.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 |
|