sql >> Database >  >> RDS >> Mysql

Is het mogelijk om een ​​variabele door te geven aan een opgeslagen procedure-aanroep in 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. Syntaxisfout in Postgres-droptabel

  2. Unieke beperking die lege waarden in MySQL toestaat

  3. Hoe de waarden van een kolom in SQL optellen?

  4. Waarom zou Magento een klant niet redden na het genereren van een ID?