0

只是看看是否有任何方法可以实现以下行为。

目前我正在做

select * from table_1 t1  where function_call(t1.col1, t1.col2) <> 0;

我调用函数 function_call 的原因是,该函数具有我无权访问的表 table_2。我可以访问的唯一方法是通过一个包。

有什么方法可以将上述行为更改为,在 from 子句中包含表信息,而不是在 where 子句中调用 function_call。

喜欢 ,

select * from table_1 t1, package_x.get_table_2() where t1.col1 = 1 and t1.col2 = 1 and t1.col3 = t2.col3
4

1 回答 1

1

我同意从 WHERE 子句调用函数可能会导致性能下降,因为这很可能会导致TABLE_1TABLE_1. 我可以想到您的网站可以做的几件事:

  1. 授予对 TABLE_1 的必要访问级别。
  2. 在 TABLE_1 上创建一个视图来限制可以看到的数据,并授予对视图的适当访问权限,或者
  3. 忍受缓慢的访问时间。

分享和享受。

于 2012-09-04T11:28:39.220 回答