sql >> Databasteknik >  >> RDS >> Mysql

Finns det något sätt att exekvera kod dynamiskt i MySQL, liknande att exekvera omedelbart i Oracle?

Det fungerar faktiskt inte som jag skrev. Jag kodar bara som:

set @preparedstmt = concat('SELECT tid, LENGTH(message) len FROM ? where tid=? and first=1');
prepare stmt from prepared_stmt;
execute stmt using v_tid;
drop prepare stmt;

Ta bara hand om tabellnamnet, det bör inte ersättas med platshållaren. Så @preparedstmt bör genereras med concat-metoden för att göra ett uttalande, som bara ersätter parametrarna i villkor med platshållare, men inte tabellnamnet.



  1. Vi introducerar Easysoft Oracle®-drivrutinen i din SOA-miljö

  2. .NET 2.0 och MySql i medium trust-läge

  3. Hur schemalägger man en MySQL-fråga?

  4. Infoga data från datepicker i databasen med php