ďťż
 
db2 i tworzenie funkcji ďťż
 
db2 i tworzenie funkcji
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

db2 i tworzenie funkcji



szvej - 11-05-2007 12:33
db2 i tworzenie funkcji
  witajcie!

jestem zupelnie zielony w db2 i zacialem sie juz na samym poczatku.
otoz chcialem stworzyc prosta procedure, ale zawsze otrzymuje blad.
oto jak wyglada owa funkcja:

create function ttt(nazwa varchar(30))
returns table (idProduktu int)
LANGUAGE SQL
MODIFIES SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
begin atomic
return (select id from schemat.produkty where nazwa = kk);
end;

zwracany blad:

SQL0104N Znaleziono nieoczekiwany element "END-OF-STATEMENT"
występujący po tekście "end". Dopuszczalne elementy to: "JOIN
<joined_table> ".
kod_sql : -104
stan_sql : 42601

co jest nie tak i co zle robie? pisze to w edytorze komend w centrum
sterowania. nie wiem czy dobrze. prosze o pomoc.

--
pozdrawiam i z gory dziekuje,
szwejk





szvej - 11-05-2007 12:33

  create function ttt(nNazwa varchar(30))
returns table (idProduktu int)
LANGUAGE SQL
MODIFIES SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
begin atomic
return (select id from schemat.produkty where nazwa = nNazwa);
end;

tak mialo byc. przepraszam za niescislosc..

On 8 Maj, 17:30, szvej <szwe...@gmail.com> wrote:
> witajcie!
>
> jestem zupelnie zielony w db2 i zacialem sie juz na samym poczatku.
> otoz chcialem stworzyc prosta procedure, ale zawsze otrzymuje blad.
> oto jak wyglada owa funkcja:
>
> create function ttt(nazwa varchar(30))
> returns table (idProduktu int)
> LANGUAGE SQL
> MODIFIES SQL DATA
> NO EXTERNAL ACTION
> DETERMINISTIC
> begin atomic
> return (select id from schemat.produkty where nazwa = kk);
> end;
>
> zwracany blad:
>
> SQL0104N Znaleziono nieoczekiwany element "END-OF-STATEMENT"
> występujący po tekście "end". Dopuszczalne elementy to: "JOIN
> <joined_table> ".
> kod_sql : -104
> stan_sql : 42601
>
> co jest nie tak i co zle robie? pisze to w edytorze komend w centrum
> sterowania. nie wiem czy dobrze. prosze o pomoc.
>
> --
> pozdrawiam i z gory dziekuje,
> szwejk




Artur - 11-05-2007 12:33

  > co jest nie tak i co zle robie?

Funkcja jest dobrze napisana. Musisz wybrać znak końca instrukcji,
inny niż średnik.

Problem polega na tym, że funkcje lub np. procedury składowane są
przykładem tzw. złożonego SQL (ang. compound SQL). Wiele instrukcji
SQL tworzy jedną, atomową instrukcję. Pojedyncze instrukcje są
oddzielane średnikiem (element języka SQL). Narzędzie wykonujące taki
złożony SQL (np. edytor komend) musi być wiedzieć, kiedy kończy się
taka złożona instrukcja. Wybierz np. znak @ i wpisz go w stopce
Edytora Komend (jest pole mówiące o znaku końca instrukcji).

Podobnie jest, jeśli chcesz tworzyć procedury z plików w trybie
tekstowym: po każdej instrukcji atomowej umieszczasz znak (bądź dwa
znaki) końca polecenia DB2 (np. @) a następnie wykonujesz plik z
opcjami:

db2 -td@ -f plik_z_poleceniami_db2

(t = terminated; d - defined; f - file; zamias @ możesz wstawić inny
znak).

Jeśli wykorzystasz Develper Workbench, wtedy nie będziesz musiał się
martwić o znak końca ponieważ narzędzie dedykowane jest do tworzenia
procedur i funkcji (rozumie, że będziemy podawać tylko Compound SQL,
tzn. tylko treść procedur).

http://www.ibm.com/software/data/db2.../download.html

-- Artur Wronski




Artur - 11-05-2007 12:33

  By było zrozumiale, tak możesz to napisać:

create function ttt(nNazwa varchar(30))
returns table (idProduktu int)
LANGUAGE SQL
MODIFIES SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
begin atomic
return (select id from schemat.produkty where nazwa = nNazwa);
end @





szvej - 11-05-2007 12:33

  Dziekuje bardzo za pomoc. Juz wszystko dziala.

On 9 Maj, 00:46, Artur <artur.wron...@gmail.com> wrote:
> By było zrozumiale, tak możesz to napisać:
>
> create function ttt(nNazwa varchar(30))
> returns table (idProduktu int)
> LANGUAGE SQL
> MODIFIES SQL DATA
> NO EXTERNAL ACTION
> DETERMINISTIC
> begin atomic
> return (select id from schemat.produkty where nazwa = nNazwa);
> end @
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Photoshop CS2 - funkcje, =?ISO-8859-2?Q?kt=F3rych_si=EA_nie_?==?ISO-8859-2?Q?spodziewasz=2E=2E=2E?= [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=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?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= postgres - ile razy wykona =?ISO-8859-2?Q?si=EA_funkcja_w_?==?ISO-8859-2?Q?zapytaniu?= [MySQL] Load data infile i =?ISO-8859-2?Q?u=BFycie_funkcji_r?==?ISO-8859-2?Q?eplace?= [PGSQL] Funkcje =?ISO-8859-2?Q?zwracaj=B1ce_=27rowset=27_i_?==?ISO-8859-2?Q?tabele_tymczasowe?= Problem z funkcja mysql_real_escape_string() na bazie mysql Tworzenie tabeli z =?ISO-8859-2?Q?nazw=B1_ustalan=B1_przez_?==?ISO-8859-2?Q?usera?= =?iso-8859-2?q?Sybase_jak_wyci=B1gn=B1=E6_dane_generowane_prz ez_funkcje?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ptsite.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com