是否有任何方法將要插入到表中的值捕獲到一個變量中作爲逗號分隔值並使用變量執行insert into
語句。例如,創建一個測試表作爲從單個變量SQL存儲過程插入表值
create table id_test (id int, name varchar(10))
聲明一個變量,該變量的值設置爲低於示出爲插入到逗號分隔如表中的值:
declare @test as varchar(60) ;
set @test = '10,''john''';
現在使用變量@test
在insert into
作爲
insert into id_test (id,name) values(@test)
原因提出這個問題是,我不希望從網頁中所有變量傳遞到存儲流程。相反,我想傳遞從網頁傳遞一個變量,其中包含逗號分隔值插入到表中。
最好的方法是將所有變量的值作爲單獨的參數傳遞。你的方法會導致SQL注入 – Madhivanan
@Madhivanan,有沒有特定的理由這樣做?我想,最好有一個變量,而不是傳遞個別變量,因爲每個表都有更多的列數。 – bhuvana
是的,它導致了sql注入stackoverflow.com/questions/601300/what-is-sql-injection – Madhivanan