Chr*_*777 5 sql-server-2008 sql-server sql-server-2008-r2
我是这个网站的新手,所以如果我问的是一个基本问题和/或一个之前被问过 100 次的问题,请原谅我。我在这里搜索时找不到答案。
我想让我的脚本从 txt 文件(每行一个值)中读取值,并为每个值执行三个不同的语句。
伪代码:
$file = getfile('c:\file.txt');
foreach($value in $file)
{
DELETE x WHERE x = '$value';
DELETE y WHERE y = '$value';
DELETE z WHERE z = '$value';
}
Run Code Online (Sandbox Code Playgroud)
我知道这可能不像我的伪代码所希望的那么容易,但是我在 Google 上的所有搜索都返回了包含大量 SQL 的长篇文章,这让我无法理解。
我正在寻找我可以实现的示例,关于该主题的好文章,和/或一记耳光告诉我醒来并意识到这在 SQL 中并不容易。
基于 Rob 的回答,这里有一些示例代码来完成这项工作。
CREATE TABLE #Keys (YourKey int)
BULK INSERT #Keys FROM 'C:\YourFile.txt'
DELETE FROM YourTable
WHERE Id in (select YourKey from #Keys)
Run Code Online (Sandbox Code Playgroud)
这将需要使用您的表和列名称进行清理,但它会将删除作为单个操作进行。
您在这里的建议并不是特别基于集合。您可能更愿意将文件的内容导入到表中,然后基于联接运行语句。
因此 - 使用 BULK INSERT 命令将其拉入,然后不要循环。如果系统认为它是最有效的,它最终可能会为您循环,但让系统为您做出选择。
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |