解决SQL Server中视图最多只能引用256个表的一种办法
来源:互联网 发布:软件库存 编辑:程序博客网 时间:2024/06/10 16:15
最近在修bug的时候出现了一个问题,系统中会根据项目的多少动态的去创建一个视图来将所有项目的某些数据union到一起。当系统的项目数量超过256时,问题出现了。SQL Server会抛出如下异常: Msg 106, Level 15, State 1, Procedure vsp_T, Line 256 Too many table names in the query. The maximum allowable is 256. 当然将所有项目的数据union到一个视图绝对是一个蹩脚的设计,然而要改这个设计着实困难,怎么办呢? 经过测试发现SQL Server T-SQL批处理完全支持union256个以上的表,而且存储过程也支持引用超过256个以上的表。 于是将原先创建视图的语句由create view 改为 create procedure,存储过程不带任何参数;原先调select * from 视图地方的SQL语句改为exec存储过程。 这样系统项目数量再也不受256的限制了。 不过当系统中的项目多达10000时,单单创建一个union所有项目数据的存储过程就花了十几秒,而执行这个存储过程花了4分钟多。所以,要根本解决这个问题,还是应该从设计上避免出现多表union或者join的情况!
- 解决SQL Server中视图最多只能引用256个表的一种办法
- Sql Server 2005 中解决死锁的一种方式
- Sql Server 2005 中解决死锁的一种方式
- SQL Server 2000的系统表映射到SQL Server 2005 中对应的一个或多个系统视图
- 解决win2003远程桌面只能最多连接2个用户的问题
- 解决字符型数据最多只能取到255个
- 一种创建子视图窗口的办法
- SQL SERVER 2005安装过程中COM+错误解决的办法
- SQL Server 2008等登录用户只能看到自己的数据库设置办法
- SQL Server 2008等登录用户只能看到自己的数据库设置办法
- SQL server中视图的更新
- SQL Server中有用的系统视图
- SQL Server视图使用中4个限制条件
- 通过model->rowCount();只能返回最多256个数据的长度的问题解决
- SQL 這個子查詢最多只能傳回一個記錄
- 一个MySQL表真的最多只能够有24个字段吗?反正我不信
- 一种SQL计算行间四则运算的办法
- 关于Oracle与SQL Server中数据迁移的办法
- 独立宣言
- gridview的编辑状态下样式不受控制的问题
- 实习小结2010-07-25
- 设计模式之 memento与observer
- GridView行颜色交替及与checkbox 结合实现多选
- 解决SQL Server中视图最多只能引用256个表的一种办法
- Flex字体篇——动态嵌入字体
- IOCP和SetFileCompletionNotificationModes
- word2007,vista,找不到文件
- hello world
- JSON跨域调用
- S型增长实例
- 如何在电脑上设置保护眼睛的颜色
- PYTHON的程序在LINUX后台运行