Questione : Procedura immagazzinata annidata di SQL 2005, come restituire un valore ad un innesco

Sto provando a redigere una procedura immagazzinata che posso denominare da un innesco che restituirà una lista di identificazione separata virgola del genitore ed è bambini.  Ciò è che cosa ho per la procedura immagazzinata: class= " lineNumbers " >
1 del >

CREATE " del prettyprint " " del class= del id= " codeSnippet864725 del >
 @IndID)
           
    ESTREMITÀ
	
ESTREMITÀ
il class= >

When che di

In il mio innesco che non sono sicuro come denominarlo ed ottenere il valore indietro.  Il mio class= " lineNumbers " >
1 del >

COMINCIARE
    DICHIARARE il @IndID int
    DICHIARARE il @idList varchar

	-- Scoprire se controlliamo la tabella inserita o cancellata, secondo se un'annotazione sta ottenendo cancellata o inserita o aggiornata.
	se (selezionare il conteggio (*) a partire dall'inserito da) <> 0 e (selezionare il conteggio (*) a partire dal cancellato da) = 0 --inserire
	cominciare
		SELEZIONARE il @IndID = il forum_industriesID A PARTIRE dall'inserito da
	estremità
	se (selezionare il conteggio (*) a partire dall'inserito da) <> 0 e (selezionare il conteggio (*) a partire dal cancellato da) <> 0 --aggiornamento
	cominciare
		SELEZIONARE il @IndID = il forum_industriesID A PARTIRE dall'inserito da
	estremità
	se (selezionare il conteggio (*) a partire dall'inserito da) = 0 e (selezionare il conteggio (*) a partire dal cancellato da) <> 0 --cancellazione
	cominciare
		SELEZIONARE il @IndID = il forum_industriesID A PARTIRE dal cancellato da
	estremità
    
        
    REGOLARE il @idList = 0
    ESEGUIRE il @IndID di ShowHierarchy, @idList
  -- Interrogare il codice per immagazzinare il IDList o per selezionare basato sulla lista
Il class= >


So di END

The (di @idList) ho finora non restituisce niente, in modo da non so ottenere i valori mi ritiro.

I ragionevolmente nuovo alle procedure immagazzinate ed agli inneschi di scrittura ed in modo da tutti i suggerimenti sarebbero la maggior parte dei helpful. class= del

Risposta : Procedura immagazzinata annidata di SQL 2005, come restituire un valore ad un innesco

cambiare DICHIARANO il @idList varchar

per PER DICHIARARE @idList varchar (100) -- per per essere un tipo adeguato

allora sulla conclusione del vostro
il triget la fa gradice il thi:


 REGOLARE il @idList = ''
    ESEGUIRE il @IndID di ShowHierarchy, uscita di @idList
  -- Interrogare il codice per immagazzinare il IDList o per selezionare basato sulla lista

ed allora sql dinamico

dichiarare il @sqlStatement varchar (4000)
regolare il @sqlStatement = “selezionano il conteggio (identificazione) a partire dalla tabella in dove forum_industriesID (" + @idList + ') '

EXEC (@sqlStatement)

Altre soluzioni  
 
programming4us programming4us