由于种种原因,我们正在最大程度地保护我们的知识产权,我们已经混淆并包含了我们的逻辑。一切都运行良好。
我们对这些观点感到担忧。在某些情况下,我们会根据客户的具体需求向客户提供一些意见。这样我们就能为他们提供正确的结果。否则,他们有时会尝试构建自己的sql并得到错误的答案。
是否可以根据包装或程序填写物化视图?我知道只有一个函数可以返回一些东西,但我可能会遗漏一些东西。我的实际选择是通过程序填写表格,但我对此感到不舒服。
我们实际上正在使用Oracle 11
欢迎任何想法。谢谢!
答案 0 :(得分:0)
您可以提供一个重新嵌套表格的函数。
CREATE TABLE SECRET_TABLE (col_1 NUMBER, col_2 VARCHAR2(10));
CREATE OR REPLACE TYPE t_secret_table_rec AS OBJECT (col_1 NUMBER, col_2 VARCHAR2(10));
CREATE OR REPLACE TYPE t_secret_table AS TABLE OF t_secret_table_rec;
CREATE OR REPLACE FUNCTION GetData RETURN t_secret_table AS
res t_secret_table;
BEGIN
-- Wrap this function
SELECT t_secret_table_rec(col_1, col_2)
BULK COLLECT INTO res
FROM SECRET_TABLE;
RETURN res;
END;
然后你可以选择这样的数据:
SELECT * FROM TABLE(GetData);
然而,这是相当费力的,你可能会遇到一些与性能有关的问题。