Gibt es eine Möglichkeit, die in eine Tabelle einzufügenden Werte in einer Variablen als durch Kommas getrennte Werte zu erfassen und die Variable zu verwenden, um die Anweisung insert into
auszuführen. Zum Beispiel kann eine Testtabelle erstellen, wieEinfügen in Tabellenwerte aus einer einzelnen gespeicherten SQL-Prozedur
create table id_test (id int, name varchar(10))
eine Variable zu deklarieren und den Wert für die Variable die Werte werden in der Tabelle, wie unten gezeigt getrennt mit Komma eingefügt werden:
declare @test as varchar(60) ;
set @test = '10,''john''';
nun mit die Variable @test
in insert into
als
insert into id_test (id,name) values(@test)
Grund für diese Frage ist, dass ich will nicht alle Variablen aus Web-Seite zu einem gespeicherten passieren Verfahren. Stattdessen möchte ich eine Variable von der Webseite übergeben, die die durch Komma getrennten Werte enthält, die in die Tabelle eingefügt werden sollen.
Die beste Methode besteht darin, die Werte aller Variablen als separate Parameter zu übergeben. Ihre Methode führt zu SQL Injection – Madhivanan
@ Madhivanan, gibt es einen bestimmten Grund, dies zu tun? Ich dachte, besser, eine Variable zu haben, anstatt einzelne Variablen zu übergeben, da jede Tabelle mehr Spalten hat. – bhuvana
ja es führt zu sql injection stackoverflow.com/questions/601300/what-is-sql-injection – Madhivanan