我需要在SQL Server中运行一个查询,其中我有一个特定数量的值分别存储在文本文件的不同行中,我需要在SQL服务器中运行查询以检查列中的值是否为该表匹配存储在txt文件中的任何一个值。
我该怎么做呢?
我知道如何在SQL Server中制定各种类型的查询,只是不确定如何运行依赖于文件查询参数的查询。
编辑:
问题1:我不是通过程序执行此操作,因为我需要运行的查询遍历超过700万个数据点,这导致程序在完成之前超时,因此是唯一的选择我离开的是在SQL Server中运行查询而不用担心超时。
问题2:我没有访问我正在访问的数据库的管理员权限,这就是为什么我无法创建表,将文件转储到其中,然后执行查询的原因加入这些表格。
感谢。
答案 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)