SVP Aide procédure stockée sql server

Résolu/Fermé
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 - 7 mars 2008 à 17:15
Guena5635 Messages postés 10 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 février 2012 - 31 mars 2008 à 16:52
Coucou tous le monde !

Je veux faire une procédure stockée paramétrée qui a pour but d'afficher tous les enregistrements dont le nom de l'entreprise commence par les trois premières lettres que je tape dans la partie du paramètre :
regardez la syntaxe que j'ai fait mais ça marche pas :
create proc entreprise
(
@empresa char(50)
)
as
select * from clientes
where empresa like @empresa + '%'

exec entreprise 'ala'


Avez vous une solution ?

Merci d'avance !
A voir également:

3 réponses

larisradouane Messages postés 6 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 15 juin 2008 3
29 mars 2008 à 23:36
salut,
j'ai deja utilisé ce code et ca marche a 100% et si tu aura besoin de kelkchoz je serais ravi de colaboré avec toi com ca on partagera les info pr mieux progresser ( si tu vx veux tu peux me joindre en mail et c'est mieux a mon avis redwane_sAThotmailDOTfr)
le code est opérationel.
cordialement.
3
Guena5635 Messages postés 10 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 février 2012 1
31 mars 2008 à 16:52
Salut!!

Merci c'est bon ca marche très bien en effet!!

En revanche je rencontre un autre problème....

Dans une procédure stockée j'utilise 2 curseurs.

Lorsque dans une vue créée dans le deuxième j'appelle des variables définies dans le 1er un message d'erreur me demande de les déclarer alors quelles le sont bien au début de la procédure.

En revanche lorsque dans le 2èm curseur j'affiche une variable, cela marche bien!!!

voici le code:


CREATE PROCEDURE [test] AS

DECLARE @agent varchar(20)
DECLARE @equipe varchar(20)
DECLARE @date varchar(20)
DECLARE @machine varchar(20)


DECLARE curseur1 CURSOR FOR
SELECT DISTINCT agent, equipe,left(dateheure, 8) FROM tracabilite WHERE codescan like 'FP%'

OPEN curseur1
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH curseur1 INTO @agent,@equipe,@date
CLOSE curseur1
DECLARE curseur2 CURSOR FOR
SELECT DISTINCT right(codescan,3) FROM tracabilite WHERE Agent = @agent and Equipe = @equipe and left(dateheure,8) like @date and right(codescan,3) NOT LIKE 'PP%' and right(codescan,3) NOT LIKE 'FP%'
OPEN curseur2
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH curseur2 INTO @machine

IF exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[essai]') and OBJECTPROPERTY(id, N'IsView') = 1)
DROP VIEW [dbo].[essai]
PRINT@agent
EXEC ('CREATE VIEW essai AS SELECT * FROM tracabilite where equipe = @equipe and agent = @agent and dateheure = @date and right(codescan,3) like @machine ')

END
CLOSE curseur2

END
GO


Merci d'avance pour votre aide!!!
0
cindy_misa Messages postés 146 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 6 août 2009 44
8 mars 2008 à 11:24
resolu
0
larisradouane Messages postés 6 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 15 juin 2008 3
20 mars 2008 à 22:36
Vx Tu bien m'indiquer la syntaxe, parceque je crois que c'est faisable avec la 'Substring' ??!!
0
Bonjour,

Je rencontre (encor) un problème pour trouver LE caractère qui permet de remplacer (sustituer) n'importe quelle chaine de caractère dans une procédure stockée.

J'ai essayé plusieurs possibiltés avec "%" qui habituellement fonctionne en SQL, mais pas dans ce cas!!

exemple:
j'aimerais extraire les données qui ont le champ1 commençant par PP
donc:

select * from matable where champ1 like '"PP."%'

mais cette requète ne marche pas!! Pourquoi???

merci d'avance pour votre aide...
0
larisradouane Messages postés 6 Date d'inscription lundi 3 décembre 2007 Statut Membre Dernière intervention 15 juin 2008 3
28 mars 2008 à 22:44
Bonjour,
salut,
j'ai la solution et j'ai meme essayé, et ca marche a merveille,
la syntaxe est :
select tonchamp from tatable
where tonchamp like 'pp%'
(ptite remark , ce champ doit etre une chaine de caractère de type varchar ou text ou.....++)
A l'atente de ta reponse.
0
Guena5635 Messages postés 10 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 27 février 2012 1
29 mars 2008 à 12:43
Salut!

Merci pour ta réponse!

Je ne peux pas essayer le code ce wend mais j'aimerais que tu me confirme si tu utilises bien ce code dans une procédure stockée!
merci encore et bon wend
0