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

Sybase Discussion :

[ASE] SELECT sur une table dont le nom est paramétré


Sujet :

Sybase

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [ASE] SELECT sur une table dont le nom est paramétré
    Bonjour,

    J'ai besoin de faire un SELECT sur une table dont la nom est paramétré avec la date du jour.

    Par exemple :

    SELECT * from stat20050315

    Est-il possible de paramétrer le nom pour concaténer le nom fixe de la table (stat) et la date du jour (avec par exemple la fonction getdate()) ?

    D'avance merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 561
    Points
    19 561
    Billets dans le blog
    25
    Par défaut
    Oui et non : ça dépend de la version d'ASE. Le SQL dynamique n'a fait son apparition que depuis la 12.5.0.3 si mes souvenirs sont bons.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Syntaxe
    Citation Envoyé par fadace
    Oui et non : ça dépend de la version d'ASE. Le SQL dynamique n'a fait son apparition que depuis la 12.5.0.3 si mes souvenirs sont bons.
    Bonjour,

    Quelle serait la syntaxe si notre version convenait ? (je dois vérifier cela avec les personnes compétentes !).

    D'avance merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 561
    Points
    19 561
    Billets dans le blog
    25
    Par défaut
    pour la version, vous pouvez checker vous même via

    sinon


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    declare @v varchar(30)
     
    select @v='SELECT * from stat'+replace(convert(varchar(30), getdate(),102),'.','')
    exec (@v)
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    J'effectue un SELECT via du SQL dynamique dans une procédure stockée. Mais je n'arrive pas à récupérer le résultat qui m'est retourné. Une idée ? Une solution ?

    Par avance merci.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Il faut en principe passer par une table temporaire. Par example:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    declare @cmd varchar(200)
     
    create table #result (data varchar(32), the_date datetime)
     
    select @cmd = "insert #result select data, getdate() from " + @une_table + " where ma_condition"
    exec(@cmd)
     
    -- maintenant on peut récupérer le résultat dans #result...
    A noter qu'un "select into" dans la SQL Dynamique ne marche PAS, puisque dans ce cas la table temporaire sera droppée à la fin de l'EXEC().

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Ca marche merci

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/02/2011, 18h26
  2. Requete sur une table dont le nom vient d'une autre requete
    Par specialka dans le forum Requêtes
    Réponses: 9
    Dernier message: 17/03/2009, 11h22
  3. Requete SQL sur une table dont le nom est dans une autre table
    Par orangepresse dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/09/2007, 13h32
  4. Select d'une table dont le nom est dynamique
    Par newfsch dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/07/2007, 12h09
  5. Réponses: 4
    Dernier message: 27/12/2006, 21h53

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