IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Pourquoi un SystemOutMemoryException dans un trigger ?


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut Pourquoi un SystemOutMemoryException dans un trigger ?
    Bonjour,

    tout est dans le titre

    voici le code c'est mieux que des mots

    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
     
    ...
    	WHILE EXISTS(SELECT * FROM #TEMP WHERE  OK = 0)
    	BEGIN
    		SELECT TOP 1 
    				@R=TP.T_ID, 
    		FROM #TEMP TP
    		INNER JOIN TEMPLATE T ON TP.T_ID=T.TEMPLATE_ID
    		INNER JOIN T_ARBO_PLN PLN ON T.PLAN_ID=PLN.PLN_ID
    		INNER JOIN T_ARBO_STN STN ON T.STN_ID=STN.STN_ID
    		INNER JOIN T_ARBO_FAL FAL ON T.FAL_ID=FAL.FAL_ID
    		WHERE OK =0 
    		ORDER  BY POND DESC, PLN.PLN_LEVEL DESC, STN.STN_LEVEL DESC, FAL.FAL_LEVEL DESC;
    IF @@ERROR <> 0 GOTO LBL_ERROR;
     
    		UPDATE #TEMP SET OK = 1 WHERE  T_ID= @R
    		IF @@ERROR <> 0 GOTO LBL_ERROR;
     
    	END
    ....
    Ceci provoque un OutofMemory

    Pourquoi? Merci d'avance car ça m'intrigue..

    Je sais que si je supprime mes inner join et les order by il ne me fait plus l'erreur...
    Donc il faudrait que je bidouille quelque chose mais je trouve bizarre que SQL Server me sort cette erreur...

    Help me !!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2006
    Messages : 205
    Par défaut j'ai peut être une piste...
    Ne serait ce pas à cause de la table temporaire ?
    car je pense qu'en faisant des inner join sur un table temporaire ça doit garder les liaisons en mémoire tout comme la table #TEMP et du coup ça doit prendre trop de ressource...

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Postez le code complet de votre trigger. Sans cela impossible de vous aider !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/10/2004, 16h18
  2. Recuperer derniere valeur modifiée dans un trigger
    Par xabs dans le forum Développement
    Réponses: 2
    Dernier message: 06/08/2004, 16h22
  3. RAZ GENERATOR dans un trigger
    Par kase74 dans le forum SQL
    Réponses: 2
    Dernier message: 08/09/2003, 18h43
  4. select dans un trigger sous Postgresql
    Par kastor_grog dans le forum Requêtes
    Réponses: 1
    Dernier message: 03/09/2003, 17h00
  5. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo