我有一个文本文件中的员工名单.
我不是一个一个地搜索每个名字,而是想搜索我的数据库一次,查找文本文件的所有名称.就像是:
select emplayeeID, Salary from employees where employee-name in "C:\myfile.txt"
Run Code Online (Sandbox Code Playgroud)
可能吗?如果是,那么它的SQL命令是什么?谢谢.
gbn*_*gbn 13
是的,使用OPENROWSET和BULK.你需要一个格式文件.
select
E.emplayeeID, E.Salary
from
employees E
JOIN
OPENROWSET (
BULK 'c:\myfile.txt',
FORMATFILE = 'c:\myfileformat.txt'
) B ON E.name = B.name
Run Code Online (Sandbox Code Playgroud)
不,这是不可能的 - 至少不是在一个命令中.
(参见GBN的答案-如果你想,这是可能的,即使在一个命令....)
你能做的是:
dbo.Employees表和你刚刚填充的临时批量加载表之间进行连接要批量插入您的姓名,请使用以下内容:
BULK INSERT EmployeeNames
FROM 'c:\myfile.txt'
WITH
(FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n')
Run Code Online (Sandbox Code Playgroud)
然后加入你的加入:
SELECT e.EmployeeID, e.Salary
FROM dbo.Employees e
INNER JOIN dbo.EmployeeNames en ON e.Name = en.Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37142 次 |
| 最近记录: |