Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przekazać wartość nazwy kolumny jako argument SQL za pomocą symboli zastępczych?

Krótka odpowiedź brzmi, że nie możesz; parametry są obsługiwane tylko dla wartości , nie dla nazw kolumn .

Musisz albo skorzystać z bezpośredniego wstawiania tekstu, jak powiedział Richard (niezależnie od tego, czy dzieje się to w kodzie, czy za pomocą funkcji SQL Server exec()), albo użyć jakiegoś rodzaju biblioteki (takiej jak LINQ), która pozwala konstruować zapytania dynamicznie, a następnie przekształca to w reprezentację tekstową.

Jeśli idziesz drogą bezpośredniego wstawiania tekstu, upewnij się, że nie zezwalasz na bezpośrednie wprowadzanie danych przez użytkownika; sam zrób jakieś tłumaczenie aby uniknąć ataków SQL Injection.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. nvarchar konkatenacja / index / nvarchar(max) niewytłumaczalne zachowanie

  2. Generatory danych dla serwera SQL?

  3. Czy UNION ALL może być szybszy niż JOIN, czy moje JOIN są po prostu do bani?

  4. Zaktualizuj oświadczenie za pomocą opcji Dołącz i Grupuj według

  5. Dodaj kolumnę do tabeli, a następnie zaktualizuj ją w transakcji