我的任務如下: 客戶想要從csv文件中讀取數字(可能是數千)的值。我有這樣的SQL SELECT語句中使用這些值:T-SQL IN運算符後面的數組是否存在最大大小?
SELECT * FROM myTable WHERE myTable.Value IN (cvsValue1, csvValue 2, ..., csvValueN)
的問題是:這個工作CSV值的任意數,並且將它大量數值時表現良好?
我需要將SQL作爲字符串內部保存在我的C#應用程序中供以後使用。 (如果這對替代解決方案產生影響)
我沒有張貼此作爲一個答案,因爲我不知道它是否會在您的特定情況下有用,但您是否知道[批量插入](http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into -sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server /)這是一個相當快速和簡單的方式c將CSV文件轉換爲SQL服務器表?關於將字符串內部保存以備後用的討論:是否可以將數據保存爲表格,然後執行連接或子查詢以獲取所需的信息? –
[SQL Server查詢的最大大小? IN子句?有沒有更好的方法](http://stackoverflow.com/questions/1869753/maximum-size-for-a-sql-server-query-in-clause-is-there-a-better-approach) –
@DavidHedlund :不幸的是,我不能只將數據放在一個「真正的」表格中 - 但是批量插入到臨時表格中可能會很好。謝謝。 – Michael