テーブルに挿入する値をカンマ区切りの値として1つの変数に取り込み、変数を使用してinsert into
ステートメントを実行する方法はありますか。単一変数SQLストアドプロシージャからテーブル値に挿入
declare @test as varchar(60) ;
set @test = '10,''john''';
今使用たとえば、変数を宣言し、以下に示すようにカンマ区切りでテーブルに挿入する値があると、変数の値を設定
create table id_test (id int, name varchar(10))
としてテストテーブルを作成しますこの質問をした理由は、私が保存したWebページからすべての変数を渡したくない、ということである
insert into id_test (id,name) values(@test)
として
insert into
で変数
@test
プロシージャ。代わりに、カンマで区切られた値を保持するWebページから1つの変数を渡して、テーブルに挿入する必要があります。
最も良い方法は、すべての変数の値を別のパラメータとして渡すことです。あなたの方法はSQLインジェクション – Madhivanan
Madhivananにつながるでしょう、何か特別な理由がありますか?私は、各テーブルがより多くの列数を持つので、個々の変数を渡す代わりに1つの変数を持つことをお勧めします。 – bhuvana
はいそれはSQLインジェクションにつながるstackoverflow.com/questions/601300/what-is-sql-injection – Madhivanan