sql >> データベース >  >> RDS >> Mysql

MySQLストアドプロシージャで動的SQLを使用する方法

    5.0.13以降、ストアドプロシージャでは、動的SQLを使用できます。

    delimiter // 
    CREATE PROCEDURE dynamic(IN tbl CHAR(64), IN col CHAR(64))
    BEGIN
        SET @s = CONCAT('SELECT ',col,' FROM ',tbl );
        PREPARE stmt FROM @s;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END
    //
    delimiter ;
    

    動的SQLは、関数またはトリガーでは機能しません。 MySQLドキュメント を参照してください。 より多くの用途のために。



    1. T-SQLキャストと変換

    2. MySQLの複数のテーブルからのCOUNT(*)

    3. SlonyスレーブノードでDELETE/UPDATEではなくINSERTのみを複製する方法は?

    4. SQLクエリでオプションのパラメータを処理する方法は?