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

- Compte rendu : SharePoint / O365 : des pratiques pour une meilleure productivité par The Mit's Blog le 12-12-2014, 18:11

- [TFS] Suppression des feature SQL Entreprise en masse par Blog de Jérémy Jeanson le 12-06-2014, 09:18

- [Clean Code] règles de nommage par Fathi Bellahcene le 12-04-2014, 22:59

- Windows To Go 10 et Upgrades impossibles par Blog de Jérémy Jeanson le 12-04-2014, 21:38

- SharePoint OnPremise: Statistiques d’utilisation pour traquer les sites fantomes par Blog Technique de Romelard Fabrice le 12-03-2014, 10:28

- SharePoint 2007: Script PowerShell permettant le backup de toutes les collections de sites d’une application Web par Blog Technique de Romelard Fabrice le 12-02-2014, 10:00

- Xamarin : un choix précieux par .net is good... C# is better ;) le 12-01-2014, 15:10

- Office 365: Comparaison des composants pour préparer votre migration de SharePoint 2007 vers Office 365 par Blog Technique de Romelard Fabrice le 11-28-2014, 16:20

- Créer un périphérique Windows To Go 10 ! par Blog de Jérémy Jeanson le 11-21-2014, 04:54

- RDV à Genève le 12 décembre pour l’évènement “SharePoint–Office 365 : des pratiques pour une meilleure productivité !” par Le blog de Patrick [MVP Office 365] le 11-19-2014, 10:40