Foxtable(狐表)用户栏目专家坐堂 → SQL的视图已具备可修改数据保存功能


  共有2629人关注过本帖树形打印复制链接

主题:SQL的视图已具备可修改数据保存功能

帅哥哟,离线,有人找我吗?
凡夫俗子
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
SQL的视图已具备可修改数据保存功能  发帖心情 Post By:2016/5/20 20:32:00 [只看该作者]

SQL的视图已具备可修改数据保存功能
但FOXTABLE还是不开放这一功能

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/21 8:38:00 [只看该作者]

视图修改数据保存功能仅限于单表查询,如:sel ect * from 表A,那还不如直接使用数据表



 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/21 8:53:00 [只看该作者]

sqlserver数据库的说明文档:

以下内容为程序代码:

1 只要满足下列条件,即可通过视图修改基础基表的数据:
2 任何修改(包括 UPD ATE、INS ERT 和 DEL ETE 语句)都只能引用一个基表的列。
3 视图中被修改的列必须直接引用表列中的基础数据。 不能通过任何其他方式对这些列进行派生,如通过以下方式:
4 聚合函数:AVG、COUNT、SUM、MIN、MAX、GRO UPING、ST DEV、STD EVP、VAR 和 VARP。
5 计算。 不能从使用其他列的表达式中计算该列。 使用集合运算符 UN ION、UN ION ALL、CROSS JOIN、EX CEPT 和 INTE RSECT 形成的列将计入计算结果,且不可更新。
6 被修改的列不受 G ROUP BY、HA VING 或 DIST INCT 子句的影响。
7 TOP 在视图的 sel ect_state ment 中的任何位置都不会与 WI TH CHE CK OP TION 子句一起使用。
8 上述限制应用于视图的 FR OM 子句中的任何子查询,就像其应用于视图本身一样。 通常情况下,数据库引擎必须能够明确跟踪从视图定义到一个基表的修改。


其它数据库的限制条件可能还不完全一样,所以通过视图来修改数据其实没多大用处,仅限于一些特殊场合。对于狐表来说完全可以通过其它方式完美替代


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/22 11:31:00 [只看该作者]

 方法一:去编写DataColChanged事件,修改修改哪一列,对应修改对应的表;

 

 方法二:在最后保存的时候,循环每一行修改过的行,把各列保存到对应的表去:

 

 方法三:动态生成sql语句 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=53006&skin=0

 


 回到顶部