2011-12-01 391 views
1

我生成從SQL Server sqlite的,要做到這一點,我第一次SQL Server上運行的腳本返回一個字符串千行,像這樣:如何在SQLite中使用參數進行INSERT插入?

INSERT INTO [Criterio] 
    ([cd1], [cd2], [cd3], [dc4], [dc5], [dt6], [dc7], [dt8], 
    [dt9], [dt10], [dt11]) 
VALUES 
    ('FFFFFFFF-FFFF-FFFF-FFFF-B897A4DE6949',10, 20, '', NULL, NULL,'', NULL, 
    julianday('2011-11-25 17:00:00'), NULL, NULL); 

但實在是太慢了(我已經使用交易)。我使用參數做了另一個測試,並且我有很大的性能改進。

SQLite有沒有什麼辦法在INSERT statament中像sql server一樣傳遞變量。

恢復,我需要的是生成一個文本腳本來做插入。但使用參數。 SQL Server使用這個工作:

EXECUTE sp_executesql @sqlCommand, N'@city nvarchar(75)', @city = @city 
+0

我做了一個配置文件,99%的時間是解析命令。 4k線需要30seg。我使用參數做了一個10萬行的測試,花了10seg –

+0

我想你需要更詳細地解釋你在做什麼。 「使用參數」是什麼意思? 「解析命令」是什麼意思? – ravenspoint

+0

@ravenspoint,解析命令,我認爲它是命令中的變換字符串。像生成執行計劃。 使用參數:INSERT表(列)值(@value)而不是INSERT表(列)值('agaga') –

回答

0

這是不可能的。我解決了從SqlServer讀取數據到DataTable,然後創建一個帶參數的DbCommand,填充參數併爲每行調用ExecuteNonQuery。

相關問題