Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/01/2007, 13h36   #1
Membre actif
 
Inscription : juin 2004
Messages : 217
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 217
Points : 186
Points : 186
Par défaut Substring et ses paramètres

Bonjour

Je suis en train de crée un SP dans le quel il y a la fonction substring. Cette fonction, peut elle recevoir des paramètres? C'est a dire, quelque chose comme ça:

Code :
text = substring(atext FROM 1 FOR :max_length);
max_length est un paramètre d'entrée. Ça c'est possible?

Merci à l'avance

Salut
cadetill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 12h20   #2
Membre régulier
 
Inscription : février 2005
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 100
Points : 88
Points : 88
Si Si... C'est possible ! Mais il faut "caster" ta variable en entier

Code :
1
2
 
text = substring(atext FROM 1 FOR cast(:max_length AS integer));
sillycoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 10h29   #3
Membre actif
 
Inscription : juin 2004
Messages : 217
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 217
Points : 186
Points : 186
Pardon pour mon retard, mais j'ai eu un petit accident et je m'ai réincorporé au travail il faut 1 semaine.

Merci de ton aide, mais ça ne compile pas, il me marque un erreur au cast

Je fais ça

Code :
atext = substring(atext FROM 1 FOR cast(:max_length AS integer));
Merci encore

Salut
cadetill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 10h52   #4
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 758
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 758
Points : 6 779
Points : 6 779
Salut

Si ton paramètre d'entrée MAX_LENGTH est de type Integer, tu n'as pas besoin de faire un cast.

Code :
1
2
 
  atext = substring(atext FROM 1 FOR :max_length);
Ceci devrait suffire.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 12h50   #5
Membre actif
 
Inscription : juin 2004
Messages : 217
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 217
Points : 186
Points : 186
Salut mes amis

J'ai essayer de faire un SP pour tester ça

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
CREATE PROCEDURE NEW_PROCEDURE (
    ATEXT VARCHAR(10) CHARACTER SET ISO8859_1,
    MAX_LENGTH INTEGER)
RETURNS (
    EXIT_TEXT VARCHAR(10) CHARACTER SET ISO8859_1)
AS
begin
    exit_text = substring(atext FROM 1 FOR :max_length);
 
  suspend;
end
Il me marque erreur aux :
J'ai essayer de les ôter les : mais il me marque aussi erreur. Je ne sais que je fais mal

Merci en avance

A+
cadetill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 14h15   #6
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET TERM ^;
CREATE PROCEDURE NEW_PROCEDURE (
    ATEXT VARCHAR(10) CHARACTER SET ISO8859_1,
    MAX_LENGTH INTEGER)
RETURNS (
    EXIT_TEXT VARCHAR(10) CHARACTER SET ISO8859_1)
AS
begin
    exit_text = substring(atext FROM 1 FOR max_length);
 
  suspend;
end
^
SET TERM ;^
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 17h52   #7
Membre actif
 
Inscription : juin 2004
Messages : 217
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 217
Points : 186
Points : 186
Salut tout le monde

Avant tout, merci pour les réponses.

Des questions. Avez vous essayer ça? Avec quelle version de FB? Avec quel programme vous exécutez ces scripts?

Comment j'avais dit, j'ai essayer sans et avec les : sans succès. Je fais les test avec FB 1.5.3.4870 et avec IBExpert 2006-03-07 Personal edition

Merci encore

A+
cadetill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 18h01   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
Fb 2.0.1
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 18h03   #9
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 758
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 758
Points : 6 779
Points : 6 779
Pour info, je suis toujours sur FB 2.0.0, et cela marche très bien.

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/03/2007, 08h59   #10
Membre actif
 
Inscription : juin 2004
Messages : 217
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 217
Points : 186
Points : 186
Salut

Bon, je crois que je dois faire un update à FB 2, mais avant le faire je dois faire des test.

Merci a tous pour l'aide

Je met résolu quand même

A+
cadetill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h13.


 
 
 
 
Partenaires

Hébergement Web