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 :

Peut-on créer et utiliser un fonction sans la stocker ? [2008R2]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Par défaut Peut-on créer et utiliser un fonction sans la stocker ?
    Bonjour

    Peut-on créer et utiliser une fonction de recherche dans une même requête sans que cette fonction ne soit stockée ?

    But: je développe des outils de consultation/exportation de données et ne souhaite pas écrire dans la BDD qui est officiellement gérée par une SSI extérieure à notre société.
    Je sais que je peux la supprimer après utilisation mais je préférerai éviter ce duo CREATION/SUPPRESSION, même si elle n'a lieu qu'une fois en début et fin de session de travail.


  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par GuyQ47 Voir le message
    Je sais que je peux la supprimer après utilisation mais je préférerai éviter ce duo CREATION/SUPPRESSION, même si elle n'a lieu qu'une fois en début et fin de cession de travail.
    Session et non cession...
    pourquoi ne pas la mettre dans une autre bd à toi ?
    Voir dans les bds systèmes genre msdb ? Pas des plus clean, ok, mais simple !

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Vous pouvez créer des fonctions avec la directive WITH ENCRYPTION puis les détruire après usage :

    Nom : create function with encryption.jpg
Affichages : 822
Taille : 76,2 Ko

    ceci est un faible niveau de chiffrement, mais utilisé temporairement, ça fait le job.

    Autre possibilité , créer vos fonctions dans tempdb et les virer une fois utilisées….

    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
    USE tempdb;
    GO
     
    CREATE FUNCTION F ()
    RETURNS BIT
    WITH ENCRYPTION
    AS
    BEGIN
       RETURN 1;
    END
    GO
    USE master;
    GO
     
    SELECT tempdb.dbo.F()
    Sinon, le fait de créer une base spécifique pour se faire n'est pas mal non plus

    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/ * * * * *

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 12
    Par défaut autre bdd
    Vous êtes deux a m'avoir suggéré l'utilisation d'une autre base de données pour y créer mes fonctions, je vous en remercie.

    L'idée me plait pour "faire chambre à part" avec les fonctions créées par la SSI qui a créé l'application principale et la base de données...

    J'envoi mes requètes depuis Windev au travers d'une connexion ODBC sur la base de données principale SQL Server, la question c'est : est-ce que SQL SERVER va trouver la fonction vu elle ne fait pas partie de la BDD à laquelle je suis connecté ?
    Quelle est la bonne syntaxe pour l'utilisation de la fonction stockée dans une autre base ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT [Ma_Bd].[Mon_Schema].[Ma_Fonction] ( Paramètres )
    SELECT [toto].[dbo].[ufn_PREMIER_jour_de_la_semaine] ( GETDATE() )
    Après il faut aussi paramétrer les accès du user.

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    ATTENTION, cependant, il faut que le code la fonction ne fasse pas d'accès à des données de tables…..

    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/ * * * * *

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Créer et utiliser une fonction publique
    Par julietindiamike dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/03/2019, 19h48
  2. [9.3] Peut-on utiliser des variables sans devoir faire une fonction ?
    Par berceker united dans le forum Débuter
    Réponses: 3
    Dernier message: 26/08/2016, 19h54
  3. Réponses: 2
    Dernier message: 26/03/2013, 16h48
  4. une Dll peut elle utiliser les fonctions d'une autre dll?
    Par kantelise dans le forum Windows
    Réponses: 7
    Dernier message: 18/05/2006, 03h45

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