苦恼!视图中不能使用参数呀!

sytxzg 2006-09-22 04:23:17
程序中经常用到 从A,B,C三个表 按条件 查询出相关数据,然后再按这个查询出的结果进行二次操作.
并且这三个表的查询别的地方也经常要用到.

于是我想把这个按条件查询这三个表的语句做成一个"视图",
可是视图里不能加入参数,如果在查询这个视图的时候,在后面把这三个表的条件加上,是可以得到查询结果的.

但是问题是,如果在不加参数时,这三个表查询出的结果可能有好几十万行,查询速度要在10分钟以上,(日后数据会更多),如果把这样的一个查询做成视图,岂不是很影响效率?

大家有什么好的办法和意见吗?
我想你也可能有这样的问题,你又是怎样做的呢?

...全文
214 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyming 2006-09-22
  • 打赏
  • 举报
回复
换成存储过程,最好用动态SQL,可以有很多参数进行替换,还不用费事处理字符前后的 '.
例:
SET @SQL=N'SELECT * FROM t Where
field1=@v1 and field2=@v2 and field3=@v3'

EXEC SP_EXECUTESQL @SQL,
N'@v1 INT,@v2 NVARCHAR(30),@v3 INT',
@v1,@v2,@v3

……
sytxzg 2006-09-22
  • 打赏
  • 举报
回复
参数当然是变的了!

视图中这么用,sql="select * from myview where 条件..."
如果换成存储过程,如何把参数加在sql语句里,是这么写吗,sql="select * form mypro(参数1,参数2,参数3)",是这么加吗?
mustudent 2006-09-22
  • 打赏
  • 举报
回复
都這麽說 不過游標還是要經常用的
mustudent 2006-09-22
  • 打赏
  • 举报
回复
視圖加參數!
不知道你的參數是不是固定的參數啊
fyming 2006-09-22
  • 打赏
  • 举报
回复
数据库编程中有不成文的规定,“能不用视图,尽量不用视图;能不用游标,尽量不用游标”,(没有经过比尔的证实,不好意思,不同意的话就当我胡说八道好了^-^),把视图改存储过程吧。
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 该资料是《Visual C++ 2005入门经典》的源代码及课后练习答案 对应的书籍资料见: Visual C++ 2005入门经典 基本信息 原书名: Ivor Horton's Beginning Visual C++ 2005 原出版社: Wiley 作者: (美)Ivor Horton 译者: 李颂华 康会光 出版社:清华大学出版社 ISBN:9787302142713 上架时间:2007-2-12 出版日期:2007 年1月 开本:16开 页码:1046 版次:1-1 编辑推荐   本书由编程语言先驱者Ivor Horton倾力而著,是国内第一本全面、深入介绍Visual C++ 2005的经典之作! 内容简介   本书系编程语言先驱者Ivor Horton的经典之作,是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法,从读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows Forms访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员。...    作译者   Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他曾在IBM工作多年,能使用多种语言进行编程(在多种机器上使用汇编语言和高级语言),设计和实现了实时闭环工业控制系统。Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。Ivor Horton还著有Beginning Visual C++ 6、Beginning C Programming和Beginning Java 2等多部入门级好书。 目录 封面 -18 前言 -14 目录 -9 第1章 使用Visual C++ 2005编程 1 1.1 .NET Framework 1 1.2 CLR 2 1.3 编写C++应用程序 3 1.4 学习Windows编程 4 1.4.1 学习C++ 4 1.4.2 C++标准 5 1.4.3 控制台应用程序 5 1.4.4 Windows编程概念 6 1.5 集成开发环境简介 7 1.6 使用IDE 9 1.6.1 工具栏选项 9 1.6.2 可停靠的工具栏 10 1.6.3 文档 11 1.6.4 项目和解决方案 11 1.6.5 设置Visual C++ 2005的选项 23 1.6.6 创建和执行Windows应用程序 24 1.6.7 创建Windows Forms应用程序 26 1.7 小结 29 第2章 数据、变量和计算 31 2.1 C++程序结构 31 2.1.1 程序注释 36 2.1.2 #include指令——头文件 37 2.1.3 命名空间和using声明 37 2.1.4 main()函数 38 2.1.5 程序语句 38 2.1.6 空白 40 2.1.7 语句块 41 2.1.8 自动生成的控制台程序 41 2.2 定义变量 42 2.2.1 命名变量 43 2.2.2 C++的关键字 43 2.2.3 声明变量 44 2.2.4 变量的初值 44 2.3 基本数据类型 45 2.3.1 整型变量 45 2.3.2 字符数据类型 46 2.3.3 整型修饰符 47 2.3.4 布尔类型 48 2.3.5 浮点类型 48 2.3.6 ISO/ANSI C++的基本类型 49 2.3.7 字面值 50 2.3.8 定义数据类型的同义词 50 2.3.9 具有特定值集的变量 51 2.3.10 指定枚举常量的类型 52 2.4 基本的输入/输出操作 53 2.4.1 从键盘输入 53 2.4.2 到命令行的输出 53 2.4.3 格式化输出 54 2.4.4 转义序列 55 2.5 C++的计算 57 2.5.1 赋值语句 57 2.5.2 算术运算 58 2.5.3 计算余数 63 2.5.4 修改变量 63 2.5.5 增量和减量运算符 64 2.5.6 计算

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧