You can't make the database, table or field names dynamic with
prepare, only values. Prepare allows you to cache the execution plan,
which wouldn't be valid on a different table.

On Mon, Sep 14, 2009 at 7:09 AM, Manasi Save
<manasi.s...@artificialmachines.com> wrote:
> Hi All,
>
> I have a query about prepare statement of mysql. I want to use prepare
> stmt for insert-update-delete with a dynamic dbname,So can anyone provide
> any input how i can make prepare stmt and then after that provide a value
> at runtime. for example :-
>
> prepare stmt from Concat('Insert into ',?,'.IgnoreContact (testid)',
>            'Select ',?,',';');
>
> Below is the procedure where i am preparing stmt at runtime. whereas i
> want to pass the values at runtime.
>
> If anyone can provide any information and links where i can find
> information abt mysql prepare stmt from stored procedure.
>
> DELIMITER $$
>
> DROP PROCEDURE IF EXISTS `SP_Test` $$
> CREATE definer=`testus...@`localhost` PROCEDURE `SP_Test`(InputTestID
> Bigint, DBName Varchar(100))
> BEGIN
>
> SET @stmt = Concat('Insert into ',DBName,'.IgnoreContact (testid)',
>            'Select ',InputTestID,';');
>
> Prepare stmt1 From @stmt;
> Execute stmt1;
> Deallocate prepare stmt1;
>
> END $$
>
> DELIMITER ;
>
> Thanks in advance.
>
> --
> Regards,
> Manasi Save
> Artificial Machines Pvt Ltd.
>
>
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=vegiv...@tuxera.be
>
>



-- 
That which does not kill you was simply not permitted to do so for the
purposes of the plot.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to