Cuestión : Cómo utilizar la variable de la tabla para el parámetro de la entrada

Hola, el

I que intenta hacer algo tiene gusto de siguiente que no trabaja:

select * el
from table1
where Col1 en el

I (del @list) tiene básicamente un procedimiento almacenado que acepte un parámetro que pueda ser una lista delimitada coma de IDs, eg.: el Br/>
I del
'1,2,3,4'< no quiere utilizar el sql dinámico pero utilizar algo una variable de la tabla y después hacer un ensamblar en la variable de la tabla. Pero no estoy seguro cómo analizar la lista de valores en la variable de la tabla. ¿Cómo puede esto ser hecha?

Thanks
class= del

Respuesta : Cómo utilizar la variable de la tabla para el parámetro de la entrada

Usted puede utilizar la función abajo para crear la tabla que usted necesita
de acuerdo con los valores coma-separados usted tiene.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
crear el fn_MySplit de la función (
 el @String nvarchar (4000)
 )
vuelve la tabla @ValueTable ([valor] nvarchar (4000))
comenzar
 declarar @NextString nvarchar (4000)
 declarar los @Pos internacional
 declarar los @NextPos internacional
 declarar el @Delimeterer nvarchar (1)
 declarar el @CommaCheck nvarchar (1)
 
 --Inicializarse
 fijar @NextString = ''
 fijar el @Delimeter = “,”
 fijar el @CommaCheck = derecho (@String, 1) 
 
 --Comprobar para saber si hay la coma que se arrastra, si no existe, INSERTA
 si (@Delimiter <> del @CommaCheck)
  el @String determinado = el @String + @Delimiter
 
 --Conseguir la posición de la primera coma
 fijar los @Pos = el charindex (el @Delimiter, @String)
 fijar los @NextPos = 1
 
 --Colocar mientras que todavía hay una coma en la cadena de niveles
 mientras que (@pos <>  0)  
 comenzar
  fijar @NextString = la subsecuencia (@String, 1, @Pos - 1)
 
  insertar en ([valor]) los valores @ValueTable (el @NextString)
 
  fijar @String = subsecuencia (@String, los @pos +1, len (@String))
  
  fijar los @NextPos = los @Pos
  fijar los @pos  = el charindex (el @Delimiter, @String)
 extremo
 
 vuelta
extremo
Otras soluciones  
 
programming4us programming4us