Dlaczego pojawia się ten błąd?Błąd mysql przy użyciu zmiennej jako nazwa tabeli
CREATE DEFINER=`root`@`localhost` PROCEDURE `selectrecords`(tablename varchar(50))
begin
set @table_name=tablename;
set @sql_text=concat('Select * from @table_name');
prepare statement from @sql_text;
execute statement;
deallocate prepare statement;
end
Błąd:
....to use near '@table_name' at line 1
Mój kod jest poprawny, ale nie rozumiem dlaczego ....
Nie sądzę, można użyć zmiennych dla nazw tabel w dynamiczny SQL. W Oracle na pewno nie możesz. Myślę, że musisz połączyć, zobacz odpowiedź JW: – Sebas
@Sebas: Co jeśli używam "delete frrom .... where", odpowiedź JW jest nadal akceptowalna? –
Tak, myślę, że on odpowiedział na wszystkie twoje pytania. – Sebas