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

imbrications et code commun

14 réponses
Avatar
Ch.
Tres bizarre mais c'est apparemment une limitation de SQL 2005

en gros j'ai des procedures stockées (SP)
j'aimerais avoir du code commun partagées par plusieurs procedures.

Exemple
SP1 -> renvoi un jeu de resultats
SP2 -> appel SP1 qui place les resultats dans une table tempo que je
travaille dans le reste de SP2 pour afficher mon nouveau jeu de resultats
issus de SP1

ben si je veux faire pareil avec SP3 -> qui appel SP2 ca marche pas il me
dit
Une instruction INSERT EXEC ne peut pas être imbriquée.

alors comment faire car repeter du code dans chaque procedure empeche le
maintient et le suivi
car si je change une SPx je dois faire la partie commune de code dans toutes
les autres si j'en connais le nom et l'existance surtout.


comment faire pour avoir du code commun à plusieurs SP ?

4 réponses

1 2
Avatar
Serguei Tarassov
Bonjour,

Cela te dit d'utiliser les variables de type table pour passer les
paramètres ?

En tout cas je te recommande d'utiliser les fonctions tables au lieu de
procédures stockées si ta procédure doit retourner un jeu de données.

A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com

On 13/01/2010 11:07, Ch. wrote:
Tres bizarre mais c'est apparemment une limitation de SQL 2005

en gros j'ai des procedures stockées (SP)
j'aimerais avoir du code commun partagées par plusieurs procedures.

Exemple
SP1 -> renvoi un jeu de resultats
SP2 -> appel SP1 qui place les resultats dans une table tempo que je
travaille dans le reste de SP2 pour afficher mon nouveau jeu de
resultats issus de SP1

ben si je veux faire pareil avec SP3 -> qui appel SP2 ca marche pas il
me dit
Une instruction INSERT EXEC ne peut pas être imbriquée.

alors comment faire car repeter du code dans chaque procedure empeche le
maintient et le suivi
car si je change une SPx je dois faire la partie commune de code dans
toutes les autres si j'en connais le nom et l'existance surtout.


comment faire pour avoir du code commun à plusieurs SP ?






Avatar
zoltix
On 27 jan, 22:06, Serguei Tarassov wrote:
Bonjour,

Cela te dit d'utiliser les variables de type table pour passer les
paramètres ?

En tout cas je te recommande d'utiliser les fonctions tables au lieu de
procédures stockées si ta procédure doit retourner un jeu de donn ées.

A+
Serguei TARASSOV
MCITP SQL Server Dev/DBAhttp://sgbd.arbinada.com

On 13/01/2010 11:07, Ch. wrote:



> Tres bizarre mais c'est apparemment une limitation de SQL 2005

> en gros j'ai des procedures stockées (SP)
> j'aimerais avoir du code commun partagées par plusieurs procedures.

> Exemple
> SP1 -> renvoi un jeu de resultats
> SP2 -> appel SP1 qui place les resultats dans une table tempo que je
> travaille dans le reste de SP2 pour afficher mon nouveau jeu de
> resultats issus de SP1

> ben si je veux faire pareil avec SP3 -> qui appel SP2 ca marche pas il
> me dit
> Une instruction INSERT EXEC ne peut pas être imbriquée.

> alors comment faire car repeter du code dans chaque procedure empeche l e
> maintient et le suivi
> car si je change une SPx je dois faire la partie commune de code dans
> toutes les autres si j'en connais le nom et l'existance surtout.

> comment faire pour avoir du code commun à plusieurs SP ?



Est il possible de faire des passages de parametres table en C# odbc
vert sql server (Stored Proc) ?


Fred BROUARD : tu l'avais pas écris ce truc 'sp_indexoption' dans ton
livre ;-)..

A+
Avatar
Serguei Tarassov
On 28/01/2010 09:53, zoltix wrote:
On 27 jan, 22:06, Serguei Tarassov wrote:
Bonjour,

Cela te dit d'utiliser les variables de type table pour passer les
paramètres ?

En tout cas je te recommande d'utiliser les fonctions tables au lieu de
procédures stockées si ta procédure doit retourner un jeu de données.




Est il possible de faire des passages de parametres table en C# odbc
vert sql server (Stored Proc) ?



Oui c'est possible.
Voir SqlDbType.Structured en ADO.NET.
Par contre ton type table doit être déclaré préalablement au niveau SQL
Server.

Sinon, utilise le type xml/nvarchar(max) pour passer un jeu de données
sous forme d'XML dans la proc/fonction TSQL et puis fait des jointures
avec les résultats d'XQuery.

A+
Serguei TARASSOV
MCITP SQL Server Dev/DBA
http://sgbd.arbinada.com
Avatar
Ch.
Med,

je n'ai pas ce message j'anticipe au cas ou je le rencontrerai car je me
doute que les verrouillages peuvent apparaitre.
ch


"Med Bouchenafa" a écrit dans le message de
news:
Ce que tu envisages me semple correct et je suis curieux d'avoir plus de
details sur le message d'erreur que tu obtiens reellement
Si tu as un probleme de verrouillage, il est tout a fait possible de
verouiller une SP pour ne laisser l'execution qu'a une seule session

Bien cordialement
Med Bouchenafa

"Ch." wrote in message
news:
Tres bizarre mais c'est apparemment une limitation de SQL 2005

en gros j'ai des procedures stockées (SP)
j'aimerais avoir du code commun partagées par plusieurs procedures.

Exemple
SP1 -> renvoi un jeu de resultats
SP2 -> appel SP1 qui place les resultats dans une table tempo que je
travaille dans le reste de SP2 pour afficher mon nouveau jeu de resultats
issus de SP1

ben si je veux faire pareil avec SP3 -> qui appel SP2 ca marche pas il me
dit
Une instruction INSERT EXEC ne peut pas être imbriquée.

alors comment faire car repeter du code dans chaque procedure empeche le
maintient et le suivi
car si je change une SPx je dois faire la partie commune de code dans
toutes les autres si j'en connais le nom et l'existance surtout.


comment faire pour avoir du code commun à plusieurs SP ?








1 2