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
要替换内容,使用两个查询。第一个将是一个删除,第二个将是一个插入。 –