sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan sender du en kolonnenavnsværdi som SQL-argument ved hjælp af pladsholdere

Det korte svar er, at du ikke kan; parametre understøttes kun for værdier , ikke for kolonnenavne .

Du skal enten falde tilbage på direkte tekstindsættelse, som Richard har sagt (uanset om dette sker i kode eller via brugen af ​​SQL Server exec()-funktionen), eller bruge en form for et bibliotek (som LINQ), der lader dig konstruere forespørgsler dynamisk og konverterer det derefter til en tekstrepræsentation.

Hvis du går den direkte tekstindsættelsesvej, vær meget sikker på, at du ikke tillader direkte brugerinput at blive indsat; lav selv en form for oversættelse for at undgå SQL Injection-angreb.



  1. Unik begrænsning over flere tabeller

  2. Visning af data i en RecyclerView

  3. Tabel som argument for en PostgreSQL-funktion

  4. Hvad er forskellen mellem Postgres DISTINCT vs DISTINCT ON?