SQL语句中变量的传递???这该怎么做??不是Delphi,看清楚了,请勿灌水!。。。。(100分)

  • 主题发起人 主题发起人 lvxq
  • 开始时间 开始时间
L

lvxq

Unregistered / Unconfirmed
GUEST, unregistred user!
Create View myview as
Select DB2.GoodsId,(Select sum(DB1.Countnum) from DB1 where DB1.IDCode=DB2.GoodsID)
as CountNum from DB2

select CountNum from myview where GoodsID='0001'
.....................上面是view,及从view中提取需要的数量.....................
。。。。。。。。。。。下面是直接做。。。。。。。。。。。。。。。。。。。。。。
Select DB2.GoodsId,(Select sum(DB1.Countnum) from DB1 where DB1.IDCode=DB2.GoodsID)
as CountNum from DB2 where DB2.GoodsID='0001'

由于牵涉到子查询,在我以为,在打开view时,将得到所有GoodsID的数量,而事实上我
只需某个特定的GoodsId,这样是否会比较慢呢?还是我理解有问题。

如果这样的话,我需要在view中能够传递变量,(我必须用view,因为事实上,我要用
的检索功能要比上面复杂好多,至少有4个子查询,一共牵涉到6个库)。就象在Delphi
中一样,只要对ParamByName赋值就行了,怎么做??有办法吗??
因为我已经把所有对数据库的操作封装了,最后的结果必须是类似于
Select * from ... where ... order by...
否则服务器端动态库将不认识,请帮忙

 
用存储过程吧。
 
是吗???我不需要更改数据库中的记录,
况且我服务器端的动态库也不支持这个。事实上,我有个函数可以直接执行
SQL语句,可是我这个项目是三地合作的,为了维护方便,大家商量就只能用
相同的办法
 
视图不可以传递变量
应该用存储过程
在存储过程中将变量参数传入,执行按参数条件select该视图
则返回你要的数据集
 
可以去资源交流区下我上传的客户服务中心的代码..
里面用到了狂多这样功能的存储过程...:)
 
所谓 的 交流区是 什么玩艺啊??在SQL中,视图和表一样是可以直接被使用的
存贮过程 呢???
 
不是说了么?VIEW无法传递变量呀。。。。。
 
就 这样 ???
 
但可以在存储过程中查询你的视图呀,这时就可以使用输入的参数做条件了呀
 
不是啊,做不带参数的View是没问题啊,可这样一来的话也就是说我在打开View时
将对所有的GoodsID做一次子查询,也就是说,当我这个GoodsID比较多时,速度必然
会比较慢,如果我能在这里传入参数,那不就意味着我只需做一次子查询了,那样
速度就能保证了,您说 呢??

唉,再留一下吧,如果PiPi.大虾没好得建议,我想是没办法了,那就
这样吧
 
view 是不能轉參數的﹐你就死了這條心把
 
就这样???
那 就 这 样 吧
我 死 心 了 吗???
我 早 死 心 了!!!
 
后退
顶部