2010-01-25 78 views
1

我需要根據一個大型表中隔夜生成的數據每天早上創建一個表。這將由少數Excel用戶訪問。ORACLE PL/SQL - SCHEDULE創建表

我最初的做法是使用materilazed視圖,當這種情況被拒絕(出於政治原因)使用託管XLL,但由於其他原因而被拒絕。我不想搞砸臨時表,所以真的只需要知道如何安排Oracle Create Table語句,因爲我們的DBA說它不能完成。

雖然我對SO用戶很有信心!

+0

我已將這10秒的查詢命中並將其創建爲視圖。我認爲創建的材料是爲了克服這個限制,但正如我所說我不能在這裏使用它們。 – MaSuGaNa 2010-01-25 13:20:18

回答

3

我不明白爲什麼你必須每天早上創建一個新表而不使用現有的表?


這會從PL/SQL創建您的表。這是你想要的嗎?

CREATE OR REPLACE PROCEDURE make_table AS 
BEGIN 
    EXECUTE IMMEDIATE 'CREATE TABLE your_table (column_1 INT PRIMARY KEY, column_2 VARCHAR2(10))'; 
END make_table; 
/

EXEC make_table; 

您的用戶需要獲得必要的資助,角色給予的資助不適用於已編譯的PL/SQL代碼。

+0

感謝彼得,但我不想將預定義的現有表綁定到填充它的sql。 – MaSuGaNa 2010-01-25 13:18:34

+0

我不認爲我理解你的評論,對不起。我的回答對你有幫助嗎?如果沒有,請嘗試編輯您的問題並添加關於您要實現的內容以及原因的其他信息。 – 2010-01-25 13:22:08

+0

不,它不。我已經創建了SQL視圖,就像我在我的問題的評論中所說的那樣,所以我不需要任何更多的答案。儘管你很難迴應,但我會接受你的回答。 – MaSuGaNa 2010-01-25 13:25:25