|
|
||||||
|
#1
|
|
|
|
|
Witam,
Probuje wykonac nastepujaca procedure: CREATE PROCEDURE SET_GENERATORS returns ( a bigint) as declare variable c varchar(300); declare variable tmp varchar(200); begin for select rdb$generator_name from rdb$generators where (rdb$generator_name not containing '$') into :tmp do begin c='insert into'||a||'values (gen_id('||tmp||',1)'; execute statement c; suspend; end end Procedura kompiluje sie poprawnie, natomiast podczas wykonania wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot convert to string" Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc. pzdr. R2r |
|
|
|
#2
|
|
|
|
|
R2r napisal(a):
[..] > end > end > > Procedura kompiluje sie poprawnie, natomiast podczas wykonania > wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot > convert to string" > > Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc. > > pzdr. R2r 1. 'insert into'||a||'values --->>> tu brakuje chyba kilku spacji 2. zwracasz "a" a gdzie jest ustawiana wartosci tego "a" 3. zgodnie z komunikatem nie mozna przetworzyc instrukcji gdzie a jest puste 4. "a" powinno byc zadeklarowane jako zmienna wejsciowa (przy zalozeniu ze uzytkownik bedzie podawal nazwe tabeli) a nie jako zmienna zwracana np: CREATE PROCEDURE SET_GENERATORS ( a varchar (50)) wtedy wywolujesz procedure z parametrem Sprostuj jezeli sie pomylilem Wito |
|
#3
|
|
|
|
|
Wito napisał(a):
> R2r napisal(a): > > 1. 'insert into'||a||'values --->>> tu brakuje chyba kilku spacji > 2. zwracasz "a" a gdzie jest ustawiana wartosci tego "a" > 3. zgodnie z komunikatem nie mozna przetworzyc instrukcji gdzie a jest > puste > 4. "a" powinno byc zadeklarowane jako zmienna wejsciowa (przy zalozeniu > ze uzytkownik bedzie podawal nazwe tabeli) a nie jako zmienna zwracana > np: CREATE PROCEDURE SET_GENERATORS ( a varchar (50)) wtedy wywolujesz > procedure z parametrem > > Sprostuj jezeli sie pomylilem > > Wito Faktycznie brakuje kilku spacji :)). Jest tez tam zmienna tmp, ktora to podaje nazwe tabeli. Do zmiennej a chce wstawic wartosc z generatora o nazwie przekazanej w zmiennej tmp. Chce uzyskac wartosc danego generatora. Taka jest mysl przewodnia :) |
|
#4
|
|
|
|
|
R2r napisał(a):
> Wito napisał(a): > > Faktycznie brakuje kilku spacji :)). > > Jest tez tam zmienna tmp, ktora to podaje nazwe tabeli. tmp PRZEKAZUJE NAZWE GENERATORA A NIE TABELI !!!! Do zmiennej a chce wstawic wartosc z generatora o nazwie przekazanej w zmiennej tmp. 1. tmp przetrzymuje nazwe generatora i to jest ok 2. wg mnie powinienes TYLKO TO napisac a = gen_id('||tmp||',0) - co zwroci biezaca wartosc generatora tAK TO POWINNO WYGLADAC CREATE PROCEDURE SET_GENERATORS returns ( a bigint) as declare variable c varchar(300); declare variable tmp varchar(200); begin for select rdb$generator_name from rdb$generators where (rdb$generator_name not containing '$') into :tmp do begin C = ' select gen_id ( ' || :tmp || ',0 ) from RDB$Database'; //lub rdb$databases a = execute statement c; suspend; > > > end > > > end Wito |
|
|
| Podobne wątki | |
| iptables - Invalid argument Witam, Korzystam z dystrybucji ubuntu 8.0.4, czy wiecie moze dlaczego pojawia sie "Invalid argument" gdy chce dodac "-m owner --cmd-owner transmission" przy innych opcjach... |
|
| PLD, iptables, ipt_string, invalid argument Witam, Nie moge odpalic reguly iptables -A INPUT -s 192.168.0.x -m string -- string "test" -j LOG. Dostaje odpowiedz - iptables: Invalid argument System to PLD 2.0,... |
|
| connlimit, 'invalid argument' Witam, ostatnio natknalem sie na blad jak w temacie, probujac zaladowac regule zawierajaca connlimit. Blad wystepowal gdy na koncu brakowalo '-j (...)'. Gdy dodawalem jakis... |
|
| iptables: Invalid argument (ipp2p) Witam Mam problem z ipp2p, skompilowalem jajko 2.4.29 zgodnie z opisem na [..], moduł siedzi w jajku iptables -m ipp2p -h pokazuje co powinien. Wpisuje iptables -t mangle -A... |
|
|
Czasy w strefie GMT. Teraz jest 22:40. | Privacy Policy
|