Maison > base de données > tutoriel mysql > Comment gérer les paramètres dynamiques dans les requêtes OPENROWSET ?

Comment gérer les paramètres dynamiques dans les requêtes OPENROWSET ?

Linda Hamilton
Libérer: 2025-01-04 01:04:40
original
222 Les gens l'ont consulté

How to Handle Dynamic Parameters in OPENROWSET Queries?

Paramétrage dynamique dans les requêtes OPENROWSET

Lorsque vous tentez d'utiliser des requêtes OPENROWSET qui incorporent des variables, de nombreuses personnes rencontrent une erreur courante impliquant une « syntaxe incorrecte près de « ». Pour résoudre ce problème, il est impératif de comprendre les limitations associées aux variables dans les requêtes OPENROWSET.

Contrairement à d'autres fonctions de base de données, OPENROWSET ne permet pas l'inclusion directe d'expressions ou de variables dans ses arguments. Cela signifie que vous ne pouvez pas construire dynamiquement l'instruction OPENROWSET à l'aide de variables.

Pour contourner cette limitation, une stratégie appropriée consiste à créer une chaîne SQL dynamique qui construit dynamiquement l'instruction OPENROWSET. Cette chaîne peut ensuite être exécutée à l'aide de l'instruction EXEC. Voici une illustration :

Declare @ID int
Declare @sql nvarchar(max)
Set @ID=1
Set @sql='SELECT * 
FROM OPENROWSET(
               ''SQLNCLI'',
               ''DRIVER={SQL Server};'',
               ''EXEC dbo.usp_SO @ID =' + convert(varchar(10),@ID) + ''')'

-- Print @sql
 Exec(@sql)
Copier après la connexion

Dans cet exemple, une chaîne SQL dynamique "@sql" est construite en fonction du paramètre fourni "@ID". Par la suite, l'instruction EXEC exécute cette chaîne SQL dynamique, exécutant efficacement la requête OPENROWSET souhaitée avec la valeur de paramètre spécifiée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal