2009-05-05 19 views
0

I dynamische Ordnung Abfrage in MySQL verwendet werden, müssen, und ich habe erfolgreich, dass durch die String-Verkettung in mysql wie folgt erreicht:konvertieren mysql gespeicherte Prozedur zum MSSQL

Satz @stmt_text: = concat ("select * from abc Ordnung by ', sorder);

vorbereiten stmt_handle von @stmt_text;

ausführen stmt_handle;

deallocate vorbereiten stmt_handle;

Ich brauche eine ähnliche Art und Weise dies in mssql

Irgendwelche Ideen zu konvertieren ??

Antwort

2

Ja, führen Sie es wie folgt aus:

execute ('select * from abc order by ' + @sorder); 

Aber vergessen Sie nicht, dass Sie die sorder Variable überprüfen müssen, wenn Sie es durch Benutzereingaben erhalten

+0

schätzen (SQL-Injektionen zu stoppen) es! aber es wäre viel besser, wenn Sie es aber auf diese Weise ausführen ('wählen * von abc Auftrag von' + @sorder); –

+0

Ja, das bekommst du, wenn du es aus dem Speicher schreibst :) –

Verwandte Themen