CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleproc`(IN @param1 INT)
BEGIN
SELECT * FROM @param1 ;
END
Donc mon idée. Je dois faire des procédures stockées "bateau" pour un oral de bts. J'utilise SQL server et je voulais mettre un peu de développement là dessus.
J'ai donc du php d'un côté, et MySql de l'autre.
Concrétement avec la procédure ci-dessus voilà ce que je désire.
Formulaire PHP avec champ concernant la table (la valeur serait donc param1) > Appel de la procédure avec param1 > Execution de la requête avec param1 (donc j'ai pris dans un exemple pour tester la table user)
Néanmoins, j'ai voulu exécuter cette requête directement sur MySql, et celui-ci me répond "la table param1" n'existe pas...ce qui est logique puisque c'est mon paramètre...Pouvez vous m'éclairer?
Si t'as pas d'amis, prends un curly, et si t'as pas de curly vas à Simply (Je sors >> [-] oui ceci est une porte)
Bon j'ai fini par trouver une solution mais pour SQL Server (2008).
La voici
CREATE PROCEDURE sp_listetout
@TABLE_T SYSNAME
AS
BEGIN
DECLARE @sql NVARCHAR(64)
SET @sql=N'Select * FROM dbo.' + @TABLE_T
EXEC sp_executeSQL @sql
END
Si t'as pas d'amis, prends un curly, et si t'as pas de curly vas à Simply (Je sors >> [-] oui ceci est une porte)
Procédures stockées table en paramètre
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.