Questione : Using una variabile nell'ORDINE dalla clausola di una procedura immagazzinata di SQL.

Sto redigendo una procedura immagazzinata che sarà usata per fare funzionare una domanda PRESCELTA con ORDINE multiplo dalle colonne.  Passerò nell'ORDINE dai parametri -- @FIELD1, @FIELD2, per esempio.  Il problema è, SQL non lo lascerà utilizzare una variabile nell'ORDINE da clause.

I vuole il proc assomigliare a questo: udp_MULTI_SORT @FIELD1 VARCHAR (15),
AS

SELECT di PROCEDURA del

CREATE di @FIELD2 VARCHAR (15) * DA ORDINE RM00101 da @FIELD1, errore che di @FIELD2

The SQL ottengo quando provo questo sono: l'elemento PRESCELTO del

The identificato dall'ORDINE dal numero 1 contiene una variabile come componente dell'espressione che identifica una posizione di colonna. Le variabili sono permesse soltanto quando ordina da un'espressione che riferisce una colonna name.

Does che chiunque conosce un senso intorno a questo?
class= del

Risposta : Using una variabile nell'ORDINE dalla clausola di una procedura immagazzinata di SQL.

come il messaggio di errore indica: cambiare i nomi di campo in posizioni del campo (tipo di dati int), O dovete cambiare ad uno sql “dinamico„ ad un certo 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:
GENERARE il udp_MULTI_SORT @FIELD1 VARCHAR (15), @FIELD2 VARCHAR (15) di PROCEDURA
AS
SELEZIONARE * 
 DA RM00101 
ORDINE DA CASE 
   QUANDO @FIELD1 = “Col1„ ALLORA Col1 
   QUANDO @FIELD1 = “Col2„ ALLORA Col2
   --- ecc ----
  ESTREMITÀ
, CASO 
   QUANDO @FIELD2 = “Col1„ ALLORA Col1 
   QUANDO @FIELD2 = “Col2„ ALLORA Col2
   --- ecc ----
  ESTREMITÀ

nota di //: nel suggerimento di cui sopra, potreste avere bisogno di di aggiungere più “dichiarazioni di caso„ per accomodare per i tipi di dati differenti
 



O, il metodo rapido e grossolano


GENERARE il udp_MULTI_SORT @FIELD1 VARCHAR (15), @FIELD2 VARCHAR (15) di PROCEDURA
AS
exec (SELEZIONARE * A PARTIRE DA ORDINE RM00101 VICINO [“+ @FIELD1 +„], [“+ @FIELD2 +„] ')
Altre soluzioni  
 
programming4us programming4us