Bonjour à tous,
j'ai un soucis avec un script sql que j'aimerai faire exécuter sous SQLServer.
Je l'ai écrit avec l'éditeur fourni. Voici un exemple :
Si j'exécute ceci dans SQLServer ça marche sans problèmes. Par contre si j'envoi tout ça avec un TADOQuery, et bien ça bug sur le mot clé 'GO' il me dit : erreur de syntax vers le mot 'GO'.
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
16
17
18
19
20
21
22
23 //--Test de l'existence de la procédure stockée IF EXISTS(SELECT name FROM sysobjects WHERE name = 'Get_Droit_Export_Simple') DROP PROCEDURE Get_Droit_Export_Simple GO //--Déclaraction de la procédure stockée CREATE PROCEDURE Get_Droit_Export_Simple @ID_Obj INT, //--l'identifiant de l'objet @TD_Obj INT, //--le type de l'objet @Exportable BIT = 0 OUTPUT //--renvoi 0 si non exportable, 1 si exportable AS BEGIN DECLARE @Nb INT //--requête pour vérifier la présence de droit SELECT @Nb = COUNT(*) FROM MB_Droits_Export WHERE (ID_Objet= @ID_Obj) and (TD_Objet= @TD_Obj) IF @Nb > 0 SET @Exportable = 1 END
Est ce que le composant ADOQuery marche différement ?
Pourquoi il n'arrive pas à faire comprendre mon GO ?
Ensuite si j'enlève ce GO, et bien dans SQLServer il me dit que mon lot de requêtes doit commencer par une instruction CREATE/ALTER;
Bref je suis un peu perdu.
Merci pour votre aide
Partager