sql >> Database >  >> RDS >> Mysql

MySQL PREPARE-instructie in opgeslagen procedures

U kunt alleen SQL voorbereiden en uitvoeren die een letterlijke tekenreeks is of een door de gebruiker gedefinieerde variabele die de tekst van de verklaring bevat.

Probeer dit:

USE mydb;

DROP PROCEDURE IF EXISTS execSql;
DELIMITER //

CREATE PROCEDURE execSql (IN sqlq VARCHAR(5000)) COMMENT 'Executes the statement'
BEGIN
  SET @sqlv = sqlq;
  PREPARE stmt FROM @sqlv;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END //

DELIMITER ;      


  1. Hoe current_time werkt in PostgreSQL

  2. Hoe JSON-object van PHP te retourneren om te lezen vanuit de Android-app

  3. PostgreSQL - max aantal parameters in IN-clausule?

  4. Is het mogelijk om meerdere DDL-instructies binnen een transactie uit te voeren (binnen SQL Server)?