Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server 2008 : Passer une table à une procédure stockée, c’est enfin possible

L'une des nouveautés de SQL Server 2008 est une chose demandée par tous depuis quelques temps, comment passer une table à une procédure stockées ou à une fonction. L'implémentation de ce passage se fait à l'aide d'un type définie par l'utilisateur.

La création du type est une opération simple :

CREATE TYPE MonTypeTable
AS TABLE
(
    Id int,
    Nom varchar(50)
)

Définissez la structure que vous souhaitez pour ce type. Puis vouez n'avez qu'à créer le procédure stockées qui va l'utiliser.

CREATE PROCEDURE MaProc @param MonTypeTable READONLY
AS

    SELECT * FROM @param

GO

On utilise directement le type table dans la définition de la procédure stockée. Ne pas oublier le READONLY, le paramère n'est possible qu'en entrée de la procédure, pour renvoyez une table, il faut passer par un SELECT (cas ici avec SELECT * FROM @param).

Notez qu'il est possible avec ce type de déclarer une variable de type table tout aussi facilement.

DECLARE @var MonTypeTable

On pourra combiner tout çà dans un exemple plus complexe.

CREATE PROCEDURE MaProc @param MonTypeTable READONLY
AS
    DECLARE @var MonTypeTable

    INSERT INTO @var
    SELECT * FROM @param
GO

Pour rappel, comment faire la même chose sous les versions précédentes de SQL Server ? Sur SQL Server 2005 vous pouvez passer un argument de type XML, que vous transformerez en table à l'aide d'opérations XQuery. Au niveau de SQL server 7 et avant, on trichait avec une chaîne de caractère de type CSV a découper au début de la procédure stockée.

Cette fonctionnalité est dore et déjà disponible dans la CTP3 (CTP de Juin).

Bons arguments…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié lundi 25 juin 2007 14:15 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Après Montréal, ce sera Barcelone, rendez-vous à la European SharePoint Conference 2014 ! par Le blog de Patrick [MVP SharePoint] le il y a 14 heures et 39 minutes

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le 04-17-2014, 22:24

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le 04-17-2014, 17:03

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le 04-17-2014, 16:54

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit Montréal 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit Montréal 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17

- [ SharePoint Summit Montréal 2014 ] Une méthodologie simple pour concevoir vos applications OOTB SharePoint de A à Z par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 16:51

- //Lean/ - Apprendre à faire des Apps Windows universelles par Blog de Jérémy Jeanson le 04-16-2014, 12:57