Microsoft
Software
Hardware
Network
Question : Xact_state ou @@ TranCount pour manipuler des baisses de prix de transaction de nid
Salut tous, le
I ont un proc de magasin qui appelle un proc récursif de magasin qui alternativement pourrait appeler uns d'autres. Tous mettent à jour les différentes tables etc. dans le système et tous début avec une transaction. J'ai un bloc de crochet d'essai autour du code et roule en arrière sur des erreurs. Le bogue que j'obtenais était….la demande de TRANSACTION de BAISSE DE PRIX du
The n'a aucune correspondance POUR COMMENCER TRANSACTION.
SO après que lisant un peu plus sur des transactions que je vois maintenant que si une baisse de prix est invitée une transaction nichée elle roule de nouveau à l'autre transaction. Quand je décèle l'erreur j'essayer de la rouler en arrière et de jeter l'erreur dessus au proc appelant de magasin. La procédure de intervention essaye alors un pain en arrière mais il n'y en a aucun. Ceci je semble comprendre et il fait maintenant sense.
However (la question avant que je vous ennuie tout) que je regardais des manières de manipuler ceci et ne sais pas si employer Xact_state ou @@trancount pour décider si rouler en arrière ou not.
So dans chaque crochet j'allais mettre certain code comme. le
BEGIN TRY
de substance de som de delcare du proc
de stor du
start…… COMMENCENT TRANSACTION
… font un certain stuff
COMMETTENT TRANS
END TRY
BEGIN CATCH
-- rouler seulement en arrière si c'est le tranaction
SI (XACT_STATE () = -1) ET (@@TranCount = BAISSE DE PRIX TRANS
de 1)
-- construire un @errorMsg du string
d'erreur = un OBJECT_NAME CHOISIS (@@PROCID) + « : « + moulé (XACT_STATE () comme varchar (3)) + » -- @@TranCount = » + moulé (@@TranCount en tant que (3))
--jeter le proc
Do de magasin d'extrémité du
de CROCHET d'EXTRÉMITÉ du
de l'on
RAISERROR (@errorMsg, @errorSev, @errorState) d'erreur… que j'ai besoin du XACT_STATE ou emploie juste le @@Trancount. Également j'ai noté dans le programme de mise au point dans SQL 2008 que si je mettais une montre sur la variable de @@TranCount, la minute j'ai écrit le proc de magasin qu'elle disparaissent incrémenté et pas quand j'excuted le rapport… Commencer la transaction. Les mêmes quand je lui ai appelé le pain en arrière… n'ont pas décrémenté, seulement en ne laissant au proc de magasin… aucune idée ou sont ceci juste le programme de mise au point ou serveur de SQL sachant qu'ils ont une transaction à commencer de toute façon ? ?
thanks M
class= de
Réponse : Xact_state ou @@ TranCount pour manipuler des baisses de prix de transaction de nid
Salut
L'URL de beuglement fournissent de l'information
http://social.msdn.microsoft.com/Forums/en/sqlexpress/thread/b99f0051-3d3a-4d86-9dd7-16568ffe3c5c
Autres solutions
MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
Emplacement primaire de deux SCCM dans l'annuaire actif
L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
Stocker le dossier dans le mysql using connector.net et le champ de goutte
Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
Winzip 12 issues de secours du travail ?