Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Créer une vue dans une procédure stockée

04/06/2008
Sur SQL-Server, il n'est pas possible de créer une vue (CREATE VIEW) dans une procédure stockée, au risque d'obtenir le message "Incorrect syntax near the keyword 'VIEW"', comme ci-dessous :

IF OBJECT_ID ('[Ma_Procedure]') IS NOT NULL
    DROP PROCEDURE [Ma_Procedure];
GO

CREATE PROCEDURE [Ma_Procedure]
    AS
    -- ================================================
    -- Crée une vue
    -- =============================================

    IF OBJECT_ID ('[Ma_Vue]') IS NOT NULL
        DROP VIEW [Ma_Vue];
        CREATE VIEW [Ma_Vue]
        AS SELECT GETDATE() AS CurrentDate,
            @@LANGUAGE AS CurrentLanguage,
            CURRENT_USER AS CurrentUser

GO

[Ma_Procedure]


D'autres fonctions ne sont également pas autorisées : CREATE DEFAULT, CREATE RULE, CREATE PROCEDURE mais il y a cependant moyen de le faire en utilisant la fonction EXEC sur la chaîne de création, comme ceci :

EXEC('CREATE VIEW [Ma_Vue]
AS SELECT GETDATE() AS CurrentDate,
    @@LANGUAGE AS CurrentLanguage,
    CURRENT_USER AS CurrentUser'
)
Dernière modification le 08/03/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations