触发器添加分区



执行错误,错误日期,使用哪种格式?

CREATE OR REPLACE PROCEDURE prc_partitionFN (data IN DATE, name IN VARCHAR2)
AS
a VARCHAR2(400);
d DATE;
BEGIN
SELECT TO_DATE(data , 'YYYY/MM')INTO d
FROM dual;
a := 'ALTER TABLE fornitore_negozio ADD PARTITION name VALUES LESS THAN (d)';
EXECUTE IMMEDIATE a;
dbms_output.put_line('Partizione creata correttamente');
END prc_partitionFN;

为什么要将日期转换为再次日期?

我认为您需要以下内容:

CREATE OR REPLACE PROCEDURE PRC_PARTITIONFN (
DATA   IN     DATE,
NAME   IN     VARCHAR2
) AS
A   VARCHAR2(400);
BEGIN
A := 'ALTER TABLE fornitore_negozio ADD PARTITION name VALUES LESS THAN (TO_DATE('''
|| TO_CHAR(DATA, 'YYYY/MM')
|| ',''YYYY/MM'')';
EXECUTE IMMEDIATE A;
DBMS_OUTPUT.PUT_LINE('Partizione creata correttamente');
END PRC_PARTITIONFN;

最新更新