我已经在Stackoverflow现有主题中搜索但找不到答案,
我尝试编写一个pl sql脚本来将分区添加到现有表中, 但是,在这之前,我需要验证要添加的分区是否已存在于此表中, 如果存在,我无事可做 如果不是,我必须使用alter table创建它 这是我的脚本不起作用:s:s
CREATE OR REPLACE PROCEDURE ADD_PARTITION AS
V_TEST_PARTITION INTEGER := 1;
REQUETE VARCHAR2(5000);
BEGIN
SELECT COUNT(*)
INTO V_TEST_PARTITION
FROM USER_TAB_PARTITIONS
WHERE TABLE_NAME = 'SALES'
AND PARTITION_NAME = 'MY_PARTITION';
IF V_TEST_PARTITION = 0
REQUETE := 'ALTER TABLE SALES ADD PARTITION'|| DEV || 'VALUES ('||MY_PARTITION'||')
TABLESPACE "STORE_DATA"';
EXECUTE IMMEDIATE REQUETE;
ELSE IF V_TEST_PARTITION = 0 THEN
DBMS_OUTPUT.PUT_LINE('MY_PARTITION' is already exist');
END IF;
END;
非常感谢你的帮助
答案 0 :(得分:0)
您的代码中有错误:
IF V_TEST_PARTITION = 0
应该是
IF V_TEST_PARTITION <> 0