Cuestión : Usar una variable en la ORDEN POR cláusula de un procedimiento almacenado del SQL.

Estoy escribiendo un procedimiento almacenado que sea utilizado para funcionar con una pregunta SELECTA con ORDEN múltiple POR las columnas.  Pasaré en la ORDEN POR parámetros -- @FIELD1, @FIELD2, por ejemplo.  El problema es, SQL no me dejará utilizar una variable en la ORDEN POR clause.

I quisiera que el proc pareciera esto: udp_MULTI_SORT @FIELD1 VARCHAR (15),
AS

SELECT del PROCEDIMIENTO del

CREATE de @FIELD2 VARCHAR (15) * DE LA ORDEN RM00101 POR @FIELD1, error de @FIELD2

The SQL que consigo cuando intento esto soy: el artículo SELECTO del

The identificado por la ORDEN POR el número 1 contiene una variable como parte de la expresión que identifica una posición de columna. ¿Las variables son permitidas solamente al ordenar por una expresión que se refiere a una columna name.

Does que cualquier persona sabe una manera alrededor de esto?
class= del

Respuesta : Usar una variable en la ORDEN POR cláusula de un procedimiento almacenado del SQL.

como el mensaje de error indica: cambiar los nombres de campo en las posiciones del campo (tipo de datos internacional), O usted tiene que cambiar a un sql “dinámico” en un cierto punto
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:
CREAR el udp_MULTI_SORT @FIELD1 VARCHAR (15), @FIELD2 VARCHAR (15) del PROCEDIMIENTO
COMO
SELECCIONAR * 
 DE RM00101 
ORDEN DE CASE 
   CUANDO @FIELD1 = “Col1” ENTONCES Col1 
   CUANDO @FIELD1 = “Col2” ENTONCES Col2
   --- etc ----
  EXTREMO
, CASO 
   CUANDO @FIELD2 = “Col1” ENTONCES Col1 
   CUANDO @FIELD2 = “Col2” ENTONCES Col2
   --- etc ----
  EXTREMO

nota de //: en la sugerencia antedicha, usted puede ser que necesite agregar más “declaraciones de caso” para acomodar para diversos tipos de datos
 



O, el método rápido y sucio


CREAR el udp_MULTI_SORT @FIELD1 VARCHAR (15), @FIELD2 VARCHAR (15) del PROCEDIMIENTO
COMO
exec (SELECCIONAR * DE LA ORDEN RM00101 CERCA [“+ @FIELD1 +”], [“+ @FIELD2 +”] ')
Otras soluciones  
 
programming4us programming4us