若天明 发表于 2015-1-16 22:25:10

MSSQL网页设计SQLServer 2000 中视图的一个 bug

提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。server|sqlserver|视图今天(零点过了哟),在姑苏中部电子无限公司临盆受发注在库办理体系中碰到一个奇异的成绩。
前些天我测试得好好的程序,今天给测试职员测试后得出了稀里糊涂的毛病,明天bug呈报拿来了,我就堕入了奇异的骗局中,由于我们的项目顶用了大批的视图,固然这个毛病就出在视图上。就是在视图中的谁人“*”,哈哈。

测试情况:
OS:WindowsServer2000/2003
MicrosoftSQLServer:2000简体中文企业版

测试步骤(演示):
第一步、让我们新建一个数据库吧,数据库名字就叫“test”吧,其他选项都选默许:


第二步、在test数据库中创立一个表“t1”:
它有三个字段,按次分离为c1,c2,c3,数据范例无所谓


第三步、在test数据库中创立一个视图“v1”(不论何等庞大都行,不外注重的是你要用*,而不要一项一项地列出来,由于*才会招致上面的毛病产生哟)


第四步、在表“t1”中增加一列“t4”,让这一列介于“c2”和“c3”之间


第五步、在表“t1”中拔出一条数据:


第六步、翻开视图“v1”往看看往(嘿,你看到甚么了?):

再翻开表“t1”看看(哈哈,好玩吧):



第七步、把视图“v1”的翻开计划视图从头实行一下计划(大概从头实行一下谁人修正视图的语句),它就一般了。

以是,我们在视图中只管不要利用*呀,嘿嘿,如果用了*的话,你如果改了表布局以后,你就别忘了把相干视图更新一下计划,呵呵。线上或者测试环境经常出现的误操作总是让DBA同学那么闹心。

admin 发表于 2015-1-19 11:09:30

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

若天明 发表于 2015-1-26 13:31:10

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

愤怒的大鸟 发表于 2015-2-4 15:44:07

总感觉自己还是不会SQL

简单生活 发表于 2015-2-10 03:26:38

索引视图2k就有。但是2005对其效率作了一些改进但是schema.viewname的作用域真是太限制了它的应用面。还有一大堆的环境参数和种种限制都让人对它有点却步。

不帅 发表于 2015-2-28 18:28:33

如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。

谁可相欹 发表于 2015-3-10 05:04:11

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

飘飘悠悠 发表于 2015-3-17 05:08:57

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

灵魂腐蚀 发表于 2015-3-17 05:08:57

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

海妖 发表于 2015-3-17 05:08:58

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

兰色精灵 发表于 2015-3-17 05:08:58

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

飘灵儿 发表于 2015-3-23 21:37:29

至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
页: [1]
查看完整版本: MSSQL网页设计SQLServer 2000 中视图的一个 bug