IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Liste de variable aleatoire


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Par défaut Liste de variable aleatoire
    salut a vous j'aimerais écrire une procédure stockée qui derais a chaque excusions me retourne un tableau disons de 50 lignes de chaines caracteres ceci de façon aléatoire.
    est-il possible de le faire?
    si oui, toute aide,conseil ou assistance sur comment faire ou comment s'y prendre serait la bien venus. a+

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Procédez en 3 temps :

    1 - créer une vue donnant un GUID

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE VIEW V_NEWID
    AS
    SELECT NEWID() AS NEW_ID;
    2- créer une fonction qui génère une chaine de caractères en bolobolo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    CREATE FUNCTION F_BOLOBOLO (@MAXCARS INT)
    RETURNS VARCHAR(max)
    AS
    BEGIN
       IF @MAXCARS = 0 RETURN '';
       IF @MAXCARS < 0 RETURN NULL;
       DECLARE @OUT VARCHAR(max);
       SET @OUT = ''
       DECLARE @MOT CHAR(16);
       WHILE LEN(@OUT) < @MAXCARS
       BEGIN
          SET @MOT = CAST(CAST((SELECT NEW_ID FROM V_NEWID) AS VARBINARY(max)) AS CHAR(16));
          SET @OUT = @OUT + @MOT;
       END;
       RETURN RIGHT(@OUT, @MAXCARS)
    END;
    Test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT dbo.F_BOLOBOLO(32)
    Pour une chaine de 32 caractères

    3 - créer une fonction qui génère une table de n lignes de m caractères en bolobolo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CREATE FUNCTION F_BOLOBOLO_TABLE (@MAXCARS INT, @MAXLIGNE INT)
    RETURNS @T TABLE (LIGNE VARCHAR(max))
    AS
    BEGIN
       IF @MAXLIGNE <= 0 RETURN;
       WHILE @MAXLIGNE > 0
       BEGIN
          INSERT INTO @T SELECT dbo.F_BOLOBOLO(@MAXCARS);
          SET @MAXLIGNE = @MAXLIGNE - 1
       END;
       RETURN;
    END;
    Test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT *
    FROM   dbo.F_BOLOBOLO_TABLE(20, 10)
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre très actif
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Par défaut Liste de variable aleatoire
    salut a vous et merci encore pour le script mais j'aimerais une liste de variable aléatoire entre [A-Z] ou [A-Z][0-9] alors j'aimerais savoir si l'on peux filtre ce script pour obtenir le résultat si oui comment. merci d'avance.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    La prochaine fois soyez explicite dès le départ.....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [Sécurité] $_ENV => Liste des variables liées
    Par Romanops dans le forum Langage
    Réponses: 8
    Dernier message: 17/04/2007, 15h07
  2. STL List et variable globale (extern)
    Par flipper203 dans le forum SL & STL
    Réponses: 9
    Dernier message: 04/07/2006, 14h20
  3. [CSS] list à largeur variable
    Par laurent_h dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 03/05/2006, 15h17
  4. $_POST['...'] + variable aleatoire
    Par snipes dans le forum Langage
    Réponses: 14
    Dernier message: 10/04/2006, 14h48
  5. variable aleatoire
    Par seb78440 dans le forum C++
    Réponses: 1
    Dernier message: 23/03/2006, 23h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo