sql-server - 根据执行变量的结果更新现有表
问题描述
我正在寻找有关如何解决这一挑战的一些意见。我有一个变量 say @Var1
,其中包含一条 SQL 语句。
例子
@Var1 = `SELECT * from another_table WHERE City IS NOT NULL AND Address IS NOT NULL`
当我执行这个变量
EXECUTE sp_executesql @Var1
我得到了想要的结果,城市和地址不包括 NULL 值。
我希望根据以下执行结果更新现有表(tbl1)@Var1
:
就像是:
UPDATE TABLE tbl1 AS (EXECUTE sp_executesql @Var1)
这样的事情甚至可能吗?或者我可以采取什么方法来获得@Var1
into的结果tbl1
?
提前致谢。
解决方案
我很抱歉为每个步骤都包含链接,但他们值得称赞。
有2个步骤。插入临时表,然后将该临时表中的数据合并到最终表中。
您必须先插入临时表。 使用 SQL Server 2000 插入 @TABLE EXEC @query
然后你必须将该数据合并到你的主表中。 SQL MERGE 语句更新数据
推荐阅读
- .net - .NET 将对象序列化为 json:保留一个属性不变
- android - 如何解决 DownloadManager 状态挂起?
- content-security-policy - 为什么我会收到blocked_uri“blob”的CSP 报告?
- python - Python Pyxl:写入工作簿并保存
- magento - 创建新类别后,magento 1.9 速度非常慢
- go - CGO 忽略 MacOS 上的 LDFLAGS -L 选项
- hybris - 一些用于空文本搜索的短语和产品
- git - 如何从远程拉,而在本地忽略文件?
- regex - TCL 脚本中使用的正则表达式中的变量不匹配
- javascript - javascript对其他变量的引用