gpt4 book ai didi

sql - 在 SQL Server Compact 4 中更新两个 INNER JOINed 表

转载 作者:行者123 更新时间:2023-12-04 15:45:55 26 4
gpt4 key购买 nike

我正在尝试更新 sql server compact edition 4.0 中两个表之间的值。我的 sql 如下所示:

UPDATE ei SET ei.EstateID=e.EstateID FROM EstateImages ei
INNER JOIN Estates e ON e.TempKey=ei.TempKey

也试过这个:

UPDATE EstateImages SET EstateID = 
(SELECT EstateID FROM Estates WHERE TempKey = EstateImages.TempKey)

我有错误:

There was an error parsing the query.
[ Token line number = 1, Token line offset = 37, Token error = SELECT ]

最佳答案

如果查看联机丛书或其他引用资料,您会发现在 SQL Server CE 中无法执行此操作。
- 没有 FROM 子句
- 没有相关的子查询

基本上,UPDATE 语句可以引用的唯一数据是正在更新的行中的数据。

我发现只有两种方法可以解决这个问题:
1. 客户端应用程序运行一个选择,然后触发一个或多个直接更新
2.插入新值,然后删除旧值

首先是 CE(据我所知)的大致工作方式。例如,没有 T-SQL,因此 IF block 和其他过程逻辑需要嵌入到应用程序中,而不是 SQL。

第二个模拟更新在触发器中的样子;一个删除一个插入。如果您重新构建数据以实现这一点,它会非常有效。

两者都不是“伟大的”,但 CE 确实意味着“至少你可以逃脱”。它几乎更像是一个稍微华丽的持久性引擎(以一种时髦的灵活格式将内容保存到磁盘),而不是一个真正的数据库引擎。

但是,一旦您习惯了它的局限性以及解决这些局限性的方法,它就会非常有用。对于特定任务。

关于sql - 在 SQL Server Compact 4 中更新两个 INNER JOINed 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6933686/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com