Procédure stockée utilise les variable en paramètre

saidanisaid Messages postés 1 Date d'inscription lundi 23 mars 2015 Statut Membre Dernière intervention 23 mars 2015 - Modifié par jordane45 le 23/03/2015 à 18:02
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 27 mars 2015 à 14:34
Bonjour,
j'est essayé de créer un procédure stockée sous SQL Server 2005.
donc,l'objectif de cette procédure est d'afficher une liste de valeur dont les attributs son prisent en paramètre :

USE [WAGO]
GO
/****** Objet :  StoredProcedure [dbo].[proccapteur]    Date de génération du script : 03/23/2015 10:53:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proccapteur] @dd as varchar(255), @df as varchar(255), @config as varchar(255), @capt as varchar(255) 
AS
SELECT Timer,@capt, Configuration FROM dbo.Valeur WHERE Timer Between convert(datetime,@dd,121) 
and convert(datetime,@df,121) and configuration=@config


la procédure est exécutable sauf que quant j'exécute :
exec proccapteur '2015-02-01 04:46:04.540','2015-02-01 04:46:22.883',1,TOR3

la résultat est :

Timer (aucun nom de colone) Configuration

2015-02-01 04:46:04.540 TOR3 1
2015-02-01 04:46:07.603 TOR3 1
2015-02-01 04:46:10.650 TOR3 1
2015-02-01 04:46:13.730 TOR3 1
2015-02-01 04:46:16.760 TOR3 1
2015-02-01 04:46:19.840 TOR3 1
2015-02-01 04:46:22.883 TOR3 1


mais une simple requête donne :
select Timer,TOR3,Configuration from Valeur where Configuration like 1 and 
Timer between convert(datetime,'2015-02-01 04:46:04.540',121)
and convert(datetime,'2015-02-01 04:46:22.883',121)



Timer TOR3 Configuration

2015-02-01 04:46:04.540 1 1
2015-02-01 04:46:07.603 1 1
2015-02-01 04:46:10.650 1 1
2015-02-01 04:46:13.730 1 1
2015-02-01 04:46:16.760 1 1
2015-02-01 04:46:19.840 1 1
2015-02-01 04:46:22.883 1 1



EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

1 réponse

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
27 mars 2015 à 14:34
Bonjour,

Ton problème est que @capt est une valeur et que dans la procédure stockée tu lui dis d'afficher cette valeur (sur chaque ligne, donc (aucun nom de colonne) ).

pour faire ce que tu veux tu dois construire ton select et lancer l'execution avec sp_executesql.

vas voir ici : https://msdn.microsoft.com/en-us/library/ms188001.aspx


bonne journée
0
Rejoignez-nous