读书人

关于视图,该如何解决

发布时间: 2012-12-14 10:33:07 作者: rapoo

关于视图
WINDOWS 2003服务器,SQL 2000 SERVER。用A,B两个表创建一个视图,关联字段值M的长度正常为9位,当A表增加一条记录且M的长度是11位(之前的长度都是9位)时,该视图就无法打开,请问这是为什么?
[最优解释]

引用:
引用:

这个应该没有什么关系,那你把字段的长度统一一下再试试



我把字段值长度不一致记录删除后又能正常打得开,但问题是有时候必须要用到长度不一致的。这个该怎么办?

用N/VARCHAR类型。

[其他解释]
你不用视图,把视图里面的查询语句拿出来执行会有问题吗?如果没有的话可以考虑封装到存储过程里面,视图这个东西还没怎么深入研究。有些内部机制可能会忽略。
[其他解释]
那要看你视图里面咋写.报啥错了么?

[其他解释]
要么报错,要么没问题,如果你的长度都填满了数据,可能会匹配不出来而已
[其他解释]
视图长时间打不开,如果不死机就会提示“连接超时”
[其他解释]
select * from 视图呢?会报错吗?
[其他解释]
补充一下,在A表的关联字段我建了主索引,在B表的关联字段我建了主键。
[其他解释]
SELECT TOP 1 1 FROM V_NAME

?
你别说界面右键打开显示所有行?
[其他解释]
引用:
select * from 视图呢?会报错吗?



select 会长时间没反应,就连我在企业管理器中找到该视图时直接打开都没反应,长时间后会提示“连接超时”。我把服务器重启后,又可以打开,可一段时间后又打不开,又得重启服务器。
[其他解释]
引用:
引用:

select * from 视图呢?会报错吗?



select 会长时间没反应,就连我在企业管理器中找到该视图时直接打开都没反应,长时间后会提示“连接超时”。我把服务器重启后,又可以打开,可一段时间后又打不开,又得重启服务器。

是你本地视图?


[其他解释]
引用:
SELECT TOP 1 1 FROM V_NAME

?
你别说界面右键打开显示所有行?


这样查询我没试过,因为我的程序运行需要SELECT * FROM V_NAME。
[其他解释]
引用:
引用:
引用:

select * from 视图呢?会报错吗?



select 会长时间没反应,就连我在企业管理器中找到该视图时直接打开都没反应,长时间后会提示“连接超时”。我把服务器重启后,又可以打开,可一段时间后又打不开,又得重启服务器。



是你本地视图?






[其他解释]
不知道跟WINDOWS2003 有没有关系?
[其他解释]
这个应该没有什么关系,那你把字段的长度统一一下再试试
[其他解释]
引用:
引用:

select * from 视图呢?会报错吗?



select 会长时间没反应,就连我在企业管理器中找到该视图时直接打开都没反应,长时间后会提示“连接超时”。我把服务器重启后,又可以打开,可一段时间后又打不开,又得重启服务器。

看你这个视图数据量大不大.如果大.你SELECT .因为你的关联条件列长度不一样.肯定得转换了.

你是查看代码查不 了还是数据?

查看代码肯定没问题啊.
[其他解释]
引用:
引用:
引用:

select * from 视图呢?会报错吗?



select 会长时间没反应,就连我在企业管理器中找到该视图时直接打开都没反应,长时间后会提示“连接超时”。我把服务器重启后,又可以打开,可一段时间后又打不开,又得重启服务器。




看你这个视图数据量大不大.如果大.你SELECT .因为你的关联条件列长度不一样.肯定得转换了……




是读取不了里面的数据。表中的数据量也不算大,几万条吧。我把这个视图的两个表分别打开,一点问题都没有,在视图中打开就没反应。
[其他解释]
引用:
这个应该没有什么关系,那你把字段的长度统一一下再试试



我把字段值长度不一致记录删除后又能正常打得开,但问题是有时候必须要用到长度不一致的。这个该怎么办?
[其他解释]
引用:
引用:
引用:

这个应该没有什么关系,那你把字段的长度统一一下再试试



我把字段值长度不一致记录删除后又能正常打得开,但问题是有时候必须要用到长度不一致的。这个该怎么办?



用N/VARCHAR类型。


好,谢谢!明天我试试,但愿这样能解决问题。
[其他解释]
引用:
你不用视图,把视图里面的查询语句拿出来执行会有问题吗?如果没有的话可以考虑封装到存储过程里面,视图这个东西还没怎么深入研究。有些内部机制可能会忽略。




我明天测试一下,谢谢!

读书人网 >SQL Server

热点推荐