| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2196 人关注过本帖
标题:UPDATE 兩個表,懂得回答
只看楼主 加入收藏
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
结帖率:70%
收藏
 问题点数:0 回复次数:13 
UPDATE 兩個表,懂得回答
表1:A 主表
表2:B 明細
A:
ID     NAME     SEX


B:
ID NAME
主表有資料,明細無資料
要根所主表來更新明細。
只能用UPDATE

PS:聲明我是中國人

[[it] 本帖最后由 jxyga111 于 2008-11-13 20:26 编辑 [/it]]
收到的鲜花
  • 西风独自凉2008-11-13 17:58 送鲜花  -5朵   附言:小學一年級都知道念不通,此人乃日本人.
搜索更多相关主题的帖子: sql 
2008-11-13 17:28
chinasj
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:74
注 册:2008-4-26
收藏
得分:0 
没明白说的啥意思
2008-11-13 17:47
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
他的表達能力實在是。。。。

2008-11-13 17:56
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
收藏
得分:0 
这个句子用到了几种转义和语序颠倒,简单的说,就是病句。
咱们这虽然是技术论坛不谈文学,可起码基本的语言交流要满足噻。


仁者乐膳,智者乐睡。我都爱~
2008-11-13 18:38
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

2008-11-14 17:40
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
你是否想问的是 想用一条SQL语句同时更新两个表中的数据
如果是直接用SQL语句 我想应该是不可以的吧 测试了下 也是不行
如果在两张表上面建立视图 理论上是应该可行的 查了下资料
-------------------------------------------------------------
SQL Server 2000
可更新视图可以更改该视图涉及的多个表。只要 SQL Server 可将用户的更新请求明确地翻译为对视图定义中所引用基表的更新,则 DELETE、INSERT 和 UPDATE 语句可引用视图。
当处理可更新视图时,其中视图中的多个表包含在 DELETE、INSERT 或 UPDATE 语句中,行为应不同。
-------------------------------------------------------------
但是模拟了下 运行仍然报错 不知有哪位置高手能给个范例
2008-11-15 23:37
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
通过视图修改数据
可以按下列方式通过视图修改数据:

使用具有支持 INSERT、UPDATE 和 DELETE 语句的逻辑的 INSTEAD OF 触发器。


使用修改一个或多个成员表的可更新分区视图。
如果视图不使用 INSTEAD OF 触发器或者不是可更新分区视图,则只要符合下列条件,仍可更新:

如果视图不使用 INSTEAD OF 触发器或者不是可更新分区视图,则只要符合下列条件,仍可更新:

视图在视图定义的 FROM 子句中包含至少一个表;视图不能只基于一个表达式。


在选择列表中没有使用聚合函数(AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR、VARP)或 GROUP BY、UNION、DISTINCT 或 TOP 子句。但是,可以在 FROM 子句定义的子查询范围内使用聚合函数,前提条件是聚合函数生成的派生值没有修改过。


说明  使用 UNION ALL 运算符的分区视图是可更新视图。

在选择列表中不使用派生列。派生列是由除简单列引用以外的一切构成的结果集列。
通过视图修改数据的准则
不使用 INSTEAD OF 触发器或可更新分区视图而通过视图修改数据之前,请考虑下列准则:

如果在视图定义中使用了 WITH CHECK OPTION 子句,则所有在视图上执行的数据修改语句都必须符合定义视图的 SELECT 语句中所设定的条件。如果使用了 WITH CHECK OPTION 子句,修改行时需注意不让它们在修改完成后从视图中消失。任何可能导致行消失的修改都会被取消,并显示错误信息。


SQL Server 必须能够明确地解析对视图所引用基表中的特定行所做的修改操作。不能在一个语句中对多个基础表使用数据修改语句。因此,列在 UPDATE 或 INSERT 语句中的列必须属于视图定义中的同一个基表。


对于基础表中需更新而又不允许空值的所有列,它们的值在 INSERT 语句或 DEFAULT 定义中指定。这将确保基础表中所有需要值的列都可以获取值。


在基础表的列中修改的数据必须符合对这些列的约束,如为空性、约束、DEFAULT 定义等。例如,如果要删除一行,则相关表中的所有基础 FOREIGN KEY 约束必须仍然得到满足,删除操作才能成功。


分布式分区视图(远程视图)不能使用键集驱动游标更新。此项限制可通过在基础表上而不在视图本身上声明游标得到解决。
此外,如果在视图中删除数据:

在视图定义的 FROM 子句中只能列出一个表。
不能在视图中与text、ntext 或 image 列一起使用 READTEXT 和 WRITETEXT 语句。

-----------------------------------------
文字太多了 看的头晕 还是没看明白
2008-11-15 23:43
cupt
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-2-28
收藏
得分:0 
UPDATE A
SET xxx
from A inner join B
on 。。。
where。。。
2008-11-18 13:53
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
用連接不行

烈焰照耀世界,斌凍凍千萬裏
2008-11-18 14:03
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
回复 6# 的帖子
對,但是不能夠建視圖

烈焰照耀世界,斌凍凍千萬裏
2008-11-18 14:03
快速回复:UPDATE 兩個表,懂得回答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014905 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved