IHAVE創建一個進程這樣如何在oracle的存儲過程中使用create table和drop table DDL語句。
create or replace PROCEDURE RMD_Tables AS
Begin
execute immediate 'Drop table a608232_new_62K_master';
execute immediate 'create table a608232_new_62K_master as select A.* from
a608232_MRD_DATA_62K_W_Account A inner join a608232_new_mids B
on A.MID = B.MID';
execute immediate'drop table a608232_web_abt_qlik_data';
execute immediate 'create table a608232_web_abt_qlik_data as select
lv2.IP,SESSION_ID,PAGENAME,VSCHANNEL,VSSEARCHPHRASE,click_date,
EXTRACT(YEAR FROM click_date)"YEAR",EXTRACT(MONTH FROM
click_date)"MONTH",EXTRACT(DAY FROM
click_date)"DAY",wb.CLICK_HR,wb.CLICK_MIN,
RANK() OVER(PARTITION BY SESSION_ID ORDER BY SESSION_CLK_SEQ_NBR ASC)
SESSION_RANK
from abc wb
right outer join A608232.a608232_new_62K_master lv2 on wb.IP = lv2.IP WHERE
click_date >= TO_DATE(''25-SEP-2017'',''DD-MON-YYYY'') AND
vschannel=''aaaa'' ' ;
END;
當我執行這個程序我的第一張表都被丟棄/在那之後我收到此錯誤味精後,這是獲得執行
Connecting to the database CWE_Nexedia.
ORA-01031: insufficient privileges
ORA-06512: at "A608232.RMD_TABLES", line 6
ORA-06512: at line 2
Process exited.
Disconnecting from the database CWE_Nexedia.
我首先聲明我面臨着問題。 我正在這樣做,因爲我想安排一個每天運行的作業來更新這些表格。所有的
你對該消息的解釋是什麼?ORA-01031:權限不足?另外,爲什麼不簡單地替換表格的內容而不是刪除並創建它? –
@DanBracuk我擁有previledges,當我運行它時,我可以運行並創建它。替換選項你如何建議我這樣做 – PriyalChaudhari
要替換內容,使用兩個查詢。第一個將是一個刪除,第二個將是一個插入。 –