【发布时间】:2016-06-08 15:22:03
【问题描述】:
我已经在 Stackoverflow 现有主题中进行了搜索,但找不到答案,
我尝试编写一个 pl sql 脚本来为我现有的表添加一个分区, 但是,在此之前,我需要验证要添加的分区是否已存在于此表中, 如果存在,我无事可做, 如果不是,我必须使用更改表创建它 这是我的脚本不起作用: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;
非常感谢您的帮助
【问题讨论】:
-
看起来您在构造的查询字符串中需要一些空格。
-
你的问题是什么?你有错误吗?请尽量详细些
-
错误(17,3):PLS-00103:在预期以下情况之一时遇到符号“REQUETE”:* & - + / at mod remaining rem then
和或 || multiset 符号“then”被替换为“REQUETE”以继续。 -
错误(32,4):PLS-00103:遇到符号“;”预期以下情况之一时:如果
-
我有这两个错误!!!
标签: sql oracle plsql oracle11g oracle-sqldeveloper