|
|
predavany parameter ako nazov tabulky
|
3.10.2011 13:28
Charles Bukowski
|
Dobrý den.
Vďaka za skvelý seriál ,
Nedarí sa mi s nasledujúcim dotazom :
create procedure kniha_rozsah(OD int, ID int )
begin
declare device varchar(50);
set device = CONCAT('event','_',ID);
select *,from_unixtime(time) as t , device as U from device where `event` = OD LIMIT 5 ;
end
tabulky mam pomenovane ako event_[id] potrebujem do procedury pridat id ako vstupny parameter pre nasledovny select, zial neuspesne.
Ďakujem vopred za odpoveď. |
|
|
Re: predavany parameter ako nazov tabulky
|
3.10.2011 20:13
Pavel Stěhule
|
V embeded SQL nesmi byt pouzita promenna jako nazev tabulky nebo sloupce. Na to musite pouzit tzv. dynamicke SQL http://rpbouman.blogspot.com/2005/11/mysql-5-prepared-statement-syntax-and.html |
|
|
Re: predavany parameter ako nazov tabulky
|
4.10.2011 09:43
Charles Bukowski
|
dakujem , vychadzal som s vaseho odkazu a z http://forums.mysql.com/read.php?60,27979,30437 ale neuspesne
Momentalny kod :
create procedure kniha_rozsah()
begin SET @tname = 'event_5676';
SET @s = 'select * from ? LIMIT 5';
PREPARE stmt FROM @s ;
EXECUTE stmt USING @tname;
DEALLOCATE PREPARE stmt; end
|
|
|
Re: predavany parameter ako nazov tabulky
|
10.10.2011 08:50
Charles Bukowski
|
opravene
create procedure uplna( _t varchar(50) )
BEGIN
SET @table = _t; SET @s = CONCAT('SELECT * FROM ', @table , ' limit 10');
PREPARE stmt3 FROM @s;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3; END
|
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|