千万进来看一看!!!有大麻烦了 谢谢谢谢再谢谢----陈年老问题 清囊

fake_wolf 2001-12-13 11:14:23
我想完成这样一个功能,
table1 : oid(number),value(number) 在加上其他的字段
select * from table a where oid in (...)
其中(...)有可能有很多值(上万或上十万),且无规律,也不是从别的表查询出来的。
因此用in的语法是不行的。但因为这个语句要经常执行,所以用临时表或视图的方式
也是不行的。我现在的想法是用一个varray类型,大概如下
create type my_array of number;

declare
v my_array;
c number;
begin
....--这表示往v中设置了我所要的oid。
select value into c from a where a.oid in TABLE(v);
end;

但是TABLE(v)不能转换成一个列或表来使用????
有什么高见吗?

这个问题很久以前就提过,可每人解答

...全文
156 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
myand 2001-12-14
  • 打赏
  • 举报
回复
用设置客户端的相关查询参数可能会比用SQL解决更有效
下了,bye
fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
但这似乎和建立临时表差不多。
而且即使对another_view_as_oid_buffer不提交
也可能被运行别的函数而造成提交。对这些函数我
没有理由控制其事务

用SQL解决,应该可以。
myand 2001-12-14
  • 打赏
  • 举报
回复
修改 another_view_as_oid_buffer 而不提交,也许可以达到目的 - 没有把握
myand 2001-12-14
  • 打赏
  • 举报
回复
如果一定要用SQL解决 -- 可能不行
是否可以 select oid from another_view_as_oid_buffer
fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
myand兄,有什么好办法吗
nononono 2001-12-14
  • 打赏
  • 举报
回复
非不要用临时表, 我想不出好办法.

准备下了.

bye
fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
对,完全正确
其实这个oid buffer 只是其一个查询条件的作用
myand 2001-12-14
  • 打赏
  • 举报
回复
只修改客户端的oid buffer,不提交?不同步?
fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
那是在中断session后。但如果我是在一个很长的一次session中,
建立临时表不好。请相信我,建临时表不合适。
从sql方面想想办法,怎么样
的确不怎么刷新。
哥们,走的时候告诉我一声,怎么样!!一定帮忙解决这个问题
nononono 2001-12-14
  • 打赏
  • 举报
回复
这会的版面怎么不刷新了?
nononono 2001-12-14
  • 打赏
  • 举报
回复
临时表可以不主动删除, 系统会在你用不上时自动删除.

fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
那临时表什么时候能删除呢
是否能从SQL方面下手呢
nononono 2001-12-14
  • 打赏
  • 举报
回复
可临时表就是这样用的.

每个查询都建立一个临时表 -- 正常
fake_wolf 2001-12-14
  • 打赏
  • 举报
回复
不能用临时表,因为我现在所作的是一个基于oracle的系统,对表的查询是很频繁
的,而且表也很多。我总不能对每个表在查询时都建立一个临时表吧!而且在都用户
的情况下情况更糟
panther_totem 2001-12-14
  • 打赏
  • 举报
回复
学习。。
nononono 2001-12-13
  • 打赏
  • 举报
回复
"动态的建立,导数据,删除临时表,这个方法不可取", 我不这样认为. 还是用临时表好处理.
fake_wolf 2001-12-13
  • 打赏
  • 举报
回复
举例如下:
首先
select oid from a where ..
这样我就获的了一个oid集set。我目前是
在客户端保留一个oid的内存块,然后
很有可能我会对这个set增加,删除一些oid
但这些并不影响到表a。
在这些过程中也有可能要在基于oid集的对表
a的一个查询,就象我上面写的。
不知道我写明白了没
如果把oid集放到一个临时表里,将在我的程序里
必须动态的建立,导数据,删除临时表,这个
方法不可取
myand 2001-12-13
  • 打赏
  • 举报
回复
举个例子?
经过了很多次的insert,delete,update等操作,只要事务提交后就能用,好象没关系
fake_wolf 2001-12-13
  • 打赏
  • 举报
回复
(...)里的oid也是从这个表里来的,但是经过了很多次的
insert,delete,update等操作(仅仅是对被选出来的oid,
而不是对表a)????
myand 2001-12-13
  • 打赏
  • 举报
回复
能否写得在细点?
比如in(..)到底从那里来?
煲机的概述:   指新买回的音响器材得通电一段时间后才会让重放的音质变好。 煲机是一种快速使器材化稳定的措施。有些元器件例如晶体管、集成电路、电容全新的时候电器参数不稳定,经过一段时间的使用后才能逐渐稳定。对于耳机来说,煲机实际就是在煲振膜折环,新耳机振膜折环机械顺性差,导致失真比较大,经过一段时间使用后,顺性逐渐变好,失真也会逐渐降到正常的水平。 煲机是人为的以非正常使用的方式加速器材进入成熟期的过程,一般是让器材连续工作一定的时间。而未“煲”过或未“煲”够火候儿的音箱和耳机,声音的特点可以用“紧、冷、硬、粗”四个字来形容,而“煲”后的产品则醇和、顺滑、细腻很多,仿佛发酵不全的新酒与陈年佳酿相比一般,它们的“味道”还是大不一样的。 这个“煲”字用得可是形象贴切的紧,意思是要着意伺弄,不宜“炒”、不宜“炸”,更不宜“烧”,而是要文火慢炖,慢功出细活。 新的音响器材呢,就像新车,都有个磨合期。 这里介绍一种比较安全、简单的煲机方法,你就拿着白噪音和粉红噪音轮流播放着煲去吧。 音量要适中,可逐渐加大。 下面这段是转的: 白噪声或粉红噪声之类是自然状态的噪声。之所以叫白噪声,粉红噪声,是由光波的谱线图就是光谱图类比而来,白噪声的特点是各频段的能量均匀(频谱类似太阳光谱即白光光谱),粉红噪声是在低频段强在高频段弱的噪声(频谱图类似偏红的光谱即粉红光谱)。 1: 白噪音white noise 所谓白噪音是指一段声音中的频率分量的功率在整个可听范围(0~20KHZ)内都是均匀的。由于人耳对高频敏感一点这种声音听上去是很吵耳的沙沙声。 2: 粉红噪音pink noise 粉红噪音是自然界最常见的噪音,简单说来,粉红噪音的频率分量功率主要分布在中低频段。粉红噪音从人耳中听到的是平直的频率响应——"非常悦耳的一种噪声"最常用于进行声学测试的声音。 3: 电视机无信号时的背景噪声和调频收音机无台时的背景噪声均是白噪声。白噪声可用来测量扬声器和耳机的谐振和灵敏度等。 4: 从波形角度看,粉红噪音是分形的,在一定的范围内音频数据具有相同或类似的能量。粉红噪声的电平从低频向高频不断衰减,其幅度与频率成反比(1/f)。其幅度每倍频程(一个8度)下降3dB。噪声能量在每倍频程内是相等的。 5: 从频谱仪的图形上看,白噪声在全频谱内是一条平直的线。 6: 从频谱仪的图形上看,粉红噪声是在一个小段频谱内平直的线,并且以其倍数频率向下衰减。即1倍频,2倍频……频率越高谱线高度越低。 白噪声是一种无规噪声,它的瞬时值是随机变化的。它的幅值对时间的分布满足正态分布。它具有连续的噪声谱,包含有各种频率成分的噪声。它的功率谱密度与频率无关,几个频率能量的分布是均匀的。它的等带宽输出的能量是相等的。它在线性坐标中,输出是一根平行与横坐标的直线。在对数坐标中,输出是按每倍频程带宽增加3dB的斜率而上升的。 粉红噪声与白噪声一样也是一种无规噪声,也具有连续的噪声谱。不同之处在于,它的功率谱密度与频率成反比,在对数坐标中,起输出为一水平线,在线性坐标中,其输出以每倍频程3dB下降。 在人耳可听的频率范围内,具有相同能量的噪声称为白噪声。白噪声广泛用于环境声学测量中。 ===================================分割线================================= 附上wav格式的白噪音 粉红噪音各一个(文件大小:18.7M)

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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