2016-04-09 18 views
0
set @SQLQuery = 'update top (200) ' [email protected]+ 
    ' set Flag1 = ''new'' where [Flag1] = '[email protected]+''; 
+0

Çözüm var: exec ('update top (200)' + @ tablename + 'set Flag1 =' '' + @ flag1 + '' 'nerede Flag1 =' 'new' ''); – Jay

+0

İyi bir uygulama olarak, [SQL Injection] 'ı (https://en.wikipedia.org/wiki/SQL_injection) –

+0

uyaracağından, sorgunuzu parametrelerden yapmayın. Önerileriniz için teşekkürler @ yildizm85. Gelecekteki uygulamalarım için de akılda kalacağım. – Jay

cevap

0

Böyle bir şeyi deneyebilirsiniz.

grubu @SQLQuery = 'güncelleştirme' + 'tabloismi + 'set Flag1 = '' yeni' 'burada [Flag1] = '+' flag1 +' ve Flag1 IN (DAN SELET TOP 200 Flag1' + 'tabloismi + 'WHERE [ Flag1] = '+ @ flag1 +') ';

+0

Bu doğru değil. Bkz: http://stackoverflow.com/a/1198404/848765 –

+0

Düzeltme için teşekkür ederiz. – slnit

+0

Önerileriniz için çok teşekkürler, işte benim çözümüm. exec ('update top (200)' + @ tablename + 'set Flag1 =' '' + @ flag1 + '' 'burada Flag1 =' 'new' ''); – Jay

İlgili konular