Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appel d'une Stored procedure dans une view

17 réponses
Avatar
ILyasse
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored procedure
a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une table
et à la fin fait un select de cette table. Je voudrai faire une view qui me
renvoie le résultat de ce select.

Merci d'avance pour votre aide.

10 réponses

1 2
Avatar
bruno reiter
c'est possible avec une fontion utilisateur, pas une SP

br

"ILyasse" a écrit dans le message de
news:
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored
procedure
a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une
table
et à la fin fait un select de cette table. Je voudrai faire une view qui
me
renvoie le résultat de ce select.

Merci d'avance pour votre aide.




Avatar
Romelard Fabrice [MVP]
Bonjour,

Je ne vois pas en quoi la vue ne peut pas être directement la requête sur la
table en question.
Quoi qu'il en soit, à ma connaissance, on ne peut pas requêter sur une SP
depuis une vue.

--
Cordialement.

Romelard Fabrice [MVP]


"ILyasse" a écrit dans le message de
news:
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored
procedure
a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une
table
et à la fin fait un select de cette table. Je voudrai faire une view qui
me
renvoie le résultat de ce select.

Merci d'avance pour votre aide.




Avatar
SQLpro [MVP]
ILyasse a écrit :
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored procedure
a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une table
et à la fin fait un select de cette table. Je voudrai faire une view qui me
renvoie le résultat de ce select.

Merci d'avance pour votre aide.





C'est totalement absurde :

Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
transactions.
Or une requête EST une transaction.
On ne peut donc appeler une SP dans une requête pour la bonne et simple
raison qu'il ne peut y avoir un fractionnement de transactions à
l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
transaction SELECT non atomique ... ce qui est parfaitement absurde.

En revanche une fonction ne peut pas contenir une transaction. Elle peut
donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
(SELECT, INSERT, UPDATE, DELETE...)


De plus une SP qui execute un SELECT final peut être vu comme une
requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le
curseur côté client pour voir les données qui sont renvoyées par la SP.

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
bruno reiter
peut-etre est-ce la journée polémique? ;-)

Je ne pense pas qu'on puisse dire
une requête EST une transaction

Je suis certain que tu sais ce qu'est une transaction, mais qq1 qui n'est
pas sûr et lit cela peut etre induit en erreur.

Il y a transaction implicitement s'il y a
modification(INSERT,UPDATE,DELETE), ou si explicitement on donne un ordre
BEGIN TRAN

br

"SQLpro [MVP]" a écrit dans le message de news:

ILyasse a écrit :
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored
procedure a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une
table et à la fin fait un select de cette table. Je voudrai faire une
view qui me renvoie le résultat de ce select. Merci d'avance pour votre
aide.





C'est totalement absurde :

Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
transactions.
Or une requête EST une transaction.
On ne peut donc appeler une SP dans une requête pour la bonne et simple
raison qu'il ne peut y avoir un fractionnement de transactions à
l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
transaction SELECT non atomique ... ce qui est parfaitement absurde.

En revanche une fonction ne peut pas contenir une transaction. Elle peut
donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
(SELECT, INSERT, UPDATE, DELETE...)


De plus une SP qui execute un SELECT final peut être vu comme une requête
SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le curseur
côté client pour voir les données qui sont renvoyées par la SP.

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************


Avatar
ILyasse
Ce n'est pas si absurde qu'on le croit. Normalement je n'ai pas besoid d'une
view. J'exécute la SP et j'ai les résultat. Le problème est que cette SP sera
appellé par un Rapport Crystal , jusqu'ici ça va. Mais le hic c'est que le
rapport crystal utilisera des paramètre. Et il semble que Crystal Report
lorsqu'il utilise paramètre, génére une requête SQL du genre SELECT.... where
parameter.... . Malheureusement un Select sur une SP ne fonctionne. J'obtiens
donc un message d'erreur dans crystal disant 'Failes to open Rowset'. Alors
que la SP fonctionne bien. DOnc je me suis dis je vais créer une view et
cette view fera appelle a cette SP. Et un rapport crystal qui utilise un
paramètre fonctionne très bien sur une view...

Une solution pourrait être d'utiliser une fonction, mais alors cette
fonction sera en fait la stored procedure. Mais la stored procedure renvoie
plusieurs colonne, est-ce que cela ne causerai pas un problème.

Exemple:
CREATE My_StoredPRoc as Select * from authors....

Create function My_Function as exec My_StoredProc...

Comment appellé cette fonction dans la vue ?

CREATE VIEW My_view...

Select My_Function from QUOI ? (from authors ?)


"SQLpro [MVP]" a écrit :

ILyasse a écrit :
> Bonjour,
>
> J'amerai savoir si elle est possible de faire appelle à une stored procedure
> a partir d'nue view.
> J'utilise Sql server 2000. Sachant que la stored procedure rempli une table
> et à la fin fait un select de cette table. Je voudrai faire une view qui me
> renvoie le résultat de ce select.
>
> Merci d'avance pour votre aide.
>
>

C'est totalement absurde :

Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
transactions.
Or une requête EST une transaction.
On ne peut donc appeler une SP dans une requête pour la bonne et simple
raison qu'il ne peut y avoir un fractionnement de transactions à
l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
transaction SELECT non atomique ... ce qui est parfaitement absurde.

En revanche une fonction ne peut pas contenir une transaction. Elle peut
donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
(SELECT, INSERT, UPDATE, DELETE...)


De plus une SP qui execute un SELECT final peut être vu comme une
requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le
curseur côté client pour voir les données qui sont renvoyées par la SP.

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
bruno reiter
non, la fonction ne pourra pas appeler la SP, mais la fonction peut faire
exactement ce que fait la SP

br

"ILyasse" a écrit dans le message de
news:
Ce n'est pas si absurde qu'on le croit. Normalement je n'ai pas besoid
d'une
view. J'exécute la SP et j'ai les résultat. Le problème est que cette SP
sera
appellé par un Rapport Crystal , jusqu'ici ça va. Mais le hic c'est que le
rapport crystal utilisera des paramètre. Et il semble que Crystal Report
lorsqu'il utilise paramètre, génére une requête SQL du genre SELECT....
where
parameter.... . Malheureusement un Select sur une SP ne fonctionne.
J'obtiens
donc un message d'erreur dans crystal disant 'Failes to open Rowset'.
Alors
que la SP fonctionne bien. DOnc je me suis dis je vais créer une view et
cette view fera appelle a cette SP. Et un rapport crystal qui utilise un
paramètre fonctionne très bien sur une view...

Une solution pourrait être d'utiliser une fonction, mais alors cette
fonction sera en fait la stored procedure. Mais la stored procedure
renvoie
plusieurs colonne, est-ce que cela ne causerai pas un problème.

Exemple:
CREATE My_StoredPRoc as Select * from authors....

Create function My_Function as exec My_StoredProc...

Comment appellé cette fonction dans la vue ?

CREATE VIEW My_view...

Select My_Function from QUOI ? (from authors ?)


"SQLpro [MVP]" a écrit :

ILyasse a écrit :
> Bonjour,
>
> J'amerai savoir si elle est possible de faire appelle à une stored
> procedure
> a partir d'nue view.
> J'utilise Sql server 2000. Sachant que la stored procedure rempli une
> table
> et à la fin fait un select de cette table. Je voudrai faire une view
> qui me
> renvoie le résultat de ce select.
>
> Merci d'avance pour votre aide.
>
>

C'est totalement absurde :

Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
transactions.
Or une requête EST une transaction.
On ne peut donc appeler une SP dans une requête pour la bonne et simple
raison qu'il ne peut y avoir un fractionnement de transactions à
l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
transaction SELECT non atomique ... ce qui est parfaitement absurde.

En revanche une fonction ne peut pas contenir une transaction. Elle peut
donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
(SELECT, INSERT, UPDATE, DELETE...)


De plus une SP qui execute un SELECT final peut être vu comme une
requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le
curseur côté client pour voir les données qui sont renvoyées par la SP.

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************





Avatar
SQLpro [MVP]
erreur Bruno... Grave erreur !

Une requête même SELECT est une transaction....

En effet il faut garantir la lisibilité consistante de la table :
Que se passe t-il si lors de mon SELECT :
1) l'utilisateur A modifie le prix des article de la catégorie skdcsbklc
2) l'utilisateur B supprime une colonne
???

La norme SQL va même nettement plus loin en distinguant le STATEMENT SQL
et la requête SQL.

Est un STATEMENT toute requête SELECT qui ne contient :
pas de table dérivée, pas d'opération ensembliste, pas de CTE.

Et le STATEMENT est une transaction. En revanche la QUERY qui
contiendrait une table dérivée, une op ensembliste ou un CTE ne l'est
pas et les données peuvent changer entre l'exécution d'une des partie de
la query.
Sur cet aspect de la norme, SQL Server le respecte à la lettre, tant est
si bien que si tu veut par exmple assurer la consistence d'une requête
comme celle-ci :

SELECT *
FROM (SELECT *
FROM INFORMATION_SCHEMA.COLUMNS) T
UNION ALL
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS

Il te faut la placer dans une transaction

Si tu n'est pas convaincu, cherche les post de Steve Kass, Drew
University, MVP, à ce sujet !

Nous avons été très étonné que tout ceci fasse explicitement partie de
la norme, car nous croyons tous qu'une requête SELECT était atomique
(donc une transaction)...


A +

bruno reiter a écrit :
peut-etre est-ce la journée polémique? ;-)

Je ne pense pas qu'on puisse dire
une requête EST une transaction

Je suis certain que tu sais ce qu'est une transaction, mais qq1 qui n'est
pas sûr et lit cela peut etre induit en erreur.

Il y a transaction implicitement s'il y a
modification(INSERT,UPDATE,DELETE), ou si explicitement on donne un ordre
BEGIN TRAN

br

"SQLpro [MVP]" a écrit dans le message de news:

ILyasse a écrit :
Bonjour,

J'amerai savoir si elle est possible de faire appelle à une stored
procedure a partir d'nue view.
J'utilise Sql server 2000. Sachant que la stored procedure rempli une
table et à la fin fait un select de cette table. Je voudrai faire une
view qui me renvoie le résultat de ce select. Merci d'avance pour votre
aide.




C'est totalement absurde :

Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
transactions.
Or une requête EST une transaction.
On ne peut donc appeler une SP dans une requête pour la bonne et simple
raison qu'il ne peut y avoir un fractionnement de transactions à
l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
transaction SELECT non atomique ... ce qui est parfaitement absurde.

En revanche une fonction ne peut pas contenir une transaction. Elle peut
donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
(SELECT, INSERT, UPDATE, DELETE...)


De plus une SP qui execute un SELECT final peut être vu comme une requête
SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le curseur
côté client pour voir les données qui sont renvoyées par la SP.

A +




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************








--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
ILyasse
Mais alors comment appellé cette fonction dans la vue.
SELECT my_function from quoi ?... C'est ce que je ne comprend pas très bien
...

"bruno reiter" a écrit :

non, la fonction ne pourra pas appeler la SP, mais la fonction peut faire
exactement ce que fait la SP

br

"ILyasse" a écrit dans le message de
news:
> Ce n'est pas si absurde qu'on le croit. Normalement je n'ai pas besoid
> d'une
> view. J'exécute la SP et j'ai les résultat. Le problème est que cette SP
> sera
> appellé par un Rapport Crystal , jusqu'ici ça va. Mais le hic c'est que le
> rapport crystal utilisera des paramètre. Et il semble que Crystal Report
> lorsqu'il utilise paramètre, génére une requête SQL du genre SELECT....
> where
> parameter.... . Malheureusement un Select sur une SP ne fonctionne.
> J'obtiens
> donc un message d'erreur dans crystal disant 'Failes to open Rowset'.
> Alors
> que la SP fonctionne bien. DOnc je me suis dis je vais créer une view et
> cette view fera appelle a cette SP. Et un rapport crystal qui utilise un
> paramètre fonctionne très bien sur une view...
>
> Une solution pourrait être d'utiliser une fonction, mais alors cette
> fonction sera en fait la stored procedure. Mais la stored procedure
> renvoie
> plusieurs colonne, est-ce que cela ne causerai pas un problème.
>
> Exemple:
> CREATE My_StoredPRoc as Select * from authors....
>
> Create function My_Function as exec My_StoredProc...
>
> Comment appellé cette fonction dans la vue ?
>
> CREATE VIEW My_view...
>
> Select My_Function from QUOI ? (from authors ?)
>
>
> "SQLpro [MVP]" a écrit :
>
>> ILyasse a écrit :
>> > Bonjour,
>> >
>> > J'amerai savoir si elle est possible de faire appelle à une stored
>> > procedure
>> > a partir d'nue view.
>> > J'utilise Sql server 2000. Sachant que la stored procedure rempli une
>> > table
>> > et à la fin fait un select de cette table. Je voudrai faire une view
>> > qui me
>> > renvoie le résultat de ce select.
>> >
>> > Merci d'avance pour votre aide.
>> >
>> >
>>
>> C'est totalement absurde :
>>
>> Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
>> transactions.
>> Or une requête EST une transaction.
>> On ne peut donc appeler une SP dans une requête pour la bonne et simple
>> raison qu'il ne peut y avoir un fractionnement de transactions à
>> l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
>> transaction SELECT non atomique ... ce qui est parfaitement absurde.
>>
>> En revanche une fonction ne peut pas contenir une transaction. Elle peut
>> donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
>> (SELECT, INSERT, UPDATE, DELETE...)
>>
>>
>> De plus une SP qui execute un SELECT final peut être vu comme une
>> requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement le
>> curseur côté client pour voir les données qui sont renvoyées par la SP.
>>
>> A +
>>
>>
>>
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
>> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
>> ********************* http://www.datasapiens.com ***********************
>>





Avatar
bruno reiter
select ... from UDF_xxx where ...

br


"ILyasse" a écrit dans le message de
news:
Mais alors comment appellé cette fonction dans la vue.
SELECT my_function from quoi ?... C'est ce que je ne comprend pas très
bien
...

"bruno reiter" a écrit :

non, la fonction ne pourra pas appeler la SP, mais la fonction peut faire
exactement ce que fait la SP

br

"ILyasse" a écrit dans le message de
news:
> Ce n'est pas si absurde qu'on le croit. Normalement je n'ai pas besoid
> d'une
> view. J'exécute la SP et j'ai les résultat. Le problème est que cette
> SP
> sera
> appellé par un Rapport Crystal , jusqu'ici ça va. Mais le hic c'est que
> le
> rapport crystal utilisera des paramètre. Et il semble que Crystal
> Report
> lorsqu'il utilise paramètre, génére une requête SQL du genre SELECT....
> where
> parameter.... . Malheureusement un Select sur une SP ne fonctionne.
> J'obtiens
> donc un message d'erreur dans crystal disant 'Failes to open Rowset'.
> Alors
> que la SP fonctionne bien. DOnc je me suis dis je vais créer une view
> et
> cette view fera appelle a cette SP. Et un rapport crystal qui utilise
> un
> paramètre fonctionne très bien sur une view...
>
> Une solution pourrait être d'utiliser une fonction, mais alors cette
> fonction sera en fait la stored procedure. Mais la stored procedure
> renvoie
> plusieurs colonne, est-ce que cela ne causerai pas un problème.
>
> Exemple:
> CREATE My_StoredPRoc as Select * from authors....
>
> Create function My_Function as exec My_StoredProc...
>
> Comment appellé cette fonction dans la vue ?
>
> CREATE VIEW My_view...
>
> Select My_Function from QUOI ? (from authors ?)
>
>
> "SQLpro [MVP]" a écrit :
>
>> ILyasse a écrit :
>> > Bonjour,
>> >
>> > J'amerai savoir si elle est possible de faire appelle à une stored
>> > procedure
>> > a partir d'nue view.
>> > J'utilise Sql server 2000. Sachant que la stored procedure rempli
>> > une
>> > table
>> > et à la fin fait un select de cette table. Je voudrai faire une view
>> > qui me
>> > renvoie le résultat de ce select.
>> >
>> > Merci d'avance pour votre aide.
>> >
>> >
>>
>> C'est totalement absurde :
>>
>> Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
>> transactions.
>> Or une requête EST une transaction.
>> On ne peut donc appeler une SP dans une requête pour la bonne et
>> simple
>> raison qu'il ne peut y avoir un fractionnement de transactions à
>> l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
>> transaction SELECT non atomique ... ce qui est parfaitement absurde.
>>
>> En revanche une fonction ne peut pas contenir une transaction. Elle
>> peut
>> donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
>> (SELECT, INSERT, UPDATE, DELETE...)
>>
>>
>> De plus une SP qui execute un SELECT final peut être vu comme une
>> requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement
>> le
>> curseur côté client pour voir les données qui sont renvoyées par la
>> SP.
>>
>> A +
>>
>>
>>
>>
>> --
>> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> SQL
>> Le site sur le langage SQL et les SGBDR :
>> http://sqlpro.developpez.com
>> Audit, conseil, expertise, formation, modélisation, tuning,
>> optimisation
>> ********************* http://www.datasapiens.com
>> ***********************
>>







Avatar
ILyasse
Ok j'ai trouvé, mais le problème c'est que ma SP utilise des table
temporaire, chose qu'on ne peut pas faire dans une vue ou une fonction...
Alors que faire...?

"bruno reiter" a écrit :

select ... from UDF_xxx where ...

br


"ILyasse" a écrit dans le message de
news:
> Mais alors comment appellé cette fonction dans la vue.
> SELECT my_function from quoi ?... C'est ce que je ne comprend pas très
> bien
> ...
>
> "bruno reiter" a écrit :
>
>> non, la fonction ne pourra pas appeler la SP, mais la fonction peut faire
>> exactement ce que fait la SP
>>
>> br
>>
>> "ILyasse" a écrit dans le message de
>> news:
>> > Ce n'est pas si absurde qu'on le croit. Normalement je n'ai pas besoid
>> > d'une
>> > view. J'exécute la SP et j'ai les résultat. Le problème est que cette
>> > SP
>> > sera
>> > appellé par un Rapport Crystal , jusqu'ici ça va. Mais le hic c'est que
>> > le
>> > rapport crystal utilisera des paramètre. Et il semble que Crystal
>> > Report
>> > lorsqu'il utilise paramètre, génére une requête SQL du genre SELECT....
>> > where
>> > parameter.... . Malheureusement un Select sur une SP ne fonctionne.
>> > J'obtiens
>> > donc un message d'erreur dans crystal disant 'Failes to open Rowset'.
>> > Alors
>> > que la SP fonctionne bien. DOnc je me suis dis je vais créer une view
>> > et
>> > cette view fera appelle a cette SP. Et un rapport crystal qui utilise
>> > un
>> > paramètre fonctionne très bien sur une view...
>> >
>> > Une solution pourrait être d'utiliser une fonction, mais alors cette
>> > fonction sera en fait la stored procedure. Mais la stored procedure
>> > renvoie
>> > plusieurs colonne, est-ce que cela ne causerai pas un problème.
>> >
>> > Exemple:
>> > CREATE My_StoredPRoc as Select * from authors....
>> >
>> > Create function My_Function as exec My_StoredProc...
>> >
>> > Comment appellé cette fonction dans la vue ?
>> >
>> > CREATE VIEW My_view...
>> >
>> > Select My_Function from QUOI ? (from authors ?)
>> >
>> >
>> > "SQLpro [MVP]" a écrit :
>> >
>> >> ILyasse a écrit :
>> >> > Bonjour,
>> >> >
>> >> > J'amerai savoir si elle est possible de faire appelle à une stored
>> >> > procedure
>> >> > a partir d'nue view.
>> >> > J'utilise Sql server 2000. Sachant que la stored procedure rempli
>> >> > une
>> >> > table
>> >> > et à la fin fait un select de cette table. Je voudrai faire une view
>> >> > qui me
>> >> > renvoie le résultat de ce select.
>> >> >
>> >> > Merci d'avance pour votre aide.
>> >> >
>> >> >
>> >>
>> >> C'est totalement absurde :
>> >>
>> >> Une SP peut encapsuler de nombreuses requêtes et gérer de multiples
>> >> transactions.
>> >> Or une requête EST une transaction.
>> >> On ne peut donc appeler une SP dans une requête pour la bonne et
>> >> simple
>> >> raison qu'il ne peut y avoir un fractionnement de transactions à
>> >> l'intérieur d'un SELECT par exemple !!! Cela permettrait de rendre la
>> >> transaction SELECT non atomique ... ce qui est parfaitement absurde.
>> >>
>> >> En revanche une fonction ne peut pas contenir une transaction. Elle
>> >> peut
>> >> donc (et c'est son rôle) être appelée dans un ordre SQL quelconque
>> >> (SELECT, INSERT, UPDATE, DELETE...)
>> >>
>> >>
>> >> De plus une SP qui execute un SELECT final peut être vu comme une
>> >> requête SELECT. DOnc, ne changez rien à votre code. Ouvrez simplement
>> >> le
>> >> curseur côté client pour voir les données qui sont renvoyées par la
>> >> SP.
>> >>
>> >> A +
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage
>> >> SQL
>> >> Le site sur le langage SQL et les SGBDR :
>> >> http://sqlpro.developpez.com
>> >> Audit, conseil, expertise, formation, modélisation, tuning,
>> >> optimisation
>> >> ********************* http://www.datasapiens.com
>> >> ***********************
>> >>
>>
>>
>>





1 2