SQL Server:使用文件中的数据进行查询

时间:2016-02-04 19:34:41

标签: sql sql-server

我需要在SQL Server中运行一个查询,其中我有一个特定数量的值分别存储在文本文件的不同行中,我需要在SQL服务器中运行查询以检查列中的值是否为该表匹配存储在txt文件中的任何一个值。

我该怎么做呢?

我知道如何在SQL Server中制定各种类型的查询,只是不确定如何运行依赖于文件查询参数的查询。

编辑:

问题1:我不是通过程序执行此操作,因为我需要运行的查询遍历超过700万个数据点,这导致程序在完成之前超时,因此是唯一的选择我离开的是在SQL Server中运行查询而不用担心超时。

问题2:我没有访问我正在访问的数据库的管理员权限,这就是为什么我无法创建表,将文件转储到其中,然后执行查询的原因加入这些表格。

感谢。

3 个答案:

答案 0 :(得分:2)

一种选择是使用BULK INSERT和临时表。进入临时表后,您可以解析值。这可能不是您需要的确切答案,但根据您的经验,我确定您可以根据需要进行调整。

...谢谢

SET NOCOUNT ON;

USE Your_DB;

GO

CREATE TABLE dbo.t (
    i int, 
    n varchar(10),
    d decimal(18,4),
    dt datetime
    );
GO


BULK INSERT dbo.t
    FROM 'D:\import\data.txt'
    WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n');

答案 1 :(得分:1)

有很多方法。

我的目的是将文件导入到表中,与常规SQL查询进行比较,然后删除文件数据表(如果您不再需要它)。

答案 2 :(得分:1)

  1. 将数据从文本文件批量导入临时表。
  2. 执行查询以在您的实际物理表和实际物理表之间进行比较。临时表。