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

mysqlのストアドプロシージャ呼び出しに変数を渡すことは可能ですか?

        delimiter $$
        create procedure sp_test
        (
        ulon int(4)
        )
        BEGIN
            DECLARE bid int(11);
            set bid=8888;
    ...
    ...
    ...
    ...
            set @sql=concat('call sp_nextproc_',bid,'(?,?)');
            prepare stmt from @sql;
            set @var1=bid;
            set @var2=ulon;
            EXECUTE stmt using @var1,@var2;
        END
        $$
        -- ------------
        delimiter $$
        CREATE PROCEDURE `sp_nextproc_8888`(
        IN bid int(11),
        IN ulon int(4)
        )
        BEGIN
            select bid,ulon;
        END
        $$
    
    -- test with these:
    -- call sp_test(9999);
    -- call sp_nextproc_8888(111,222);
    



    1. プリズマ、順序を逆にする方法

    2. MySQLデータベースに行を挿入する最も効率的な方法

    3. 既存のPostgreSQLデータベースでTimescaleDBを有効にする方法

    4. postgreSQLの左側にゼロを埋める