sql >> Database teknologi >  >> RDS >> Mysql

Er det muligt at sende en variabel til et lagret procedurekald i 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. MySQL-OPDATERING med SELECT SUM fra anden tabel

  2. Sådan finder du langsomste forespørgsler

  3. Hvordan udskriver du resultatet af en PostgreSQL-forespørgsel i CSV- eller TSV-format fra kommandolinjen?

  4. Betinget aggregeringsforespørgsel med en gruppe efter