sql >> Database >  >> RDS >> Mysql

Is er een manier om code dynamisch uit te voeren in MySQL, vergelijkbaar met onmiddellijke uitvoering in Oracle?

Het werkt eigenlijk niet zoals ik schreef. Ik codeer gewoon als:

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;

Zorg gewoon voor de tabelnaam, deze mag niet worden vervangen door de tijdelijke aanduiding. Dus de @preparedstmt moet worden gegenereerd met de concat-methode om een ​​verklaring af te leggen, die alleen de parameters in de voorwaarden vervangt door de tijdelijke aanduiding, maar niet de tabelnaam.



  1. Postgres:index op cosinus-overeenkomst van float-arrays voor een-op-veel-zoekopdracht

  2. Wat doet CONSTRAINT in MySQL met FK's?

  3. ORA-00979:geen GROUP BY-expressie wanneer ik mijn sql uitvoer

  4. Controleer het gehashte wachtwoord van WordPress met een gewoon wachtwoord