sql 查询 pl sql 过程
sql query to pl sql procedure
这是我的要求。我想从一个 table 获取记录并将其存储在另一个临时 table.i 写为 query.but 不知道如何通过声明将其作为过程变量等等。
每天的新客户数据将被插入 table.I 中,只想获取从过去 10 天到今天为止将 attribute_value 签名为 'TOY_GIFT' 的客户数据。我想 运行 每 10 天将此作为程序。
CREATE
OR
INSERT INTO
cst_cust_attributes_tmp (ORGANIZATION_ID, CUST_ID, ATTRIBUTE_ID, ATTRIBUTE_SEQ, ATTRIBUTE_VALUE, ACTIVE_FLAG, CREATE_DATE, CREATE_USER, UPDATE_DATE, UPDATE_USER)
SELECT
ORGANIZATION_ID,
CUST_ID,
ATTRIBUTE_ID,
ATTRIBUTE_SEQ,
ATTRIBUTE_VALUE,
ACTIVE_FLAG,
CREATE_DATE,
CREATE_USER,
UPDATE_DATE,
UPDATE_USER
FROM
cst_cust_attributes
WHERE
create_date between to_date(to_char(sysdate - 10, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM') and to_date(to_char(sysdate, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM')
and attribute_value = 'TOY_GIFT' ;
//
提前致谢..
您需要创建一个 proc 来插入记录,并设置一个 dbms 作业每 10 天执行一次。
喜欢,程序:
create or replace procedure LOAD_CUSTOMERS is
BEGIN
INSERT INTO
cst_cust_attributes_tmp (ORGANIZATION_ID, CUST_ID, ATTRIBUTE_ID, ATTRIBUTE_SEQ, ATTRIBUTE_VALUE, ACTIVE_FLAG, CREATE_DATE, CREATE_USER, UPDATE_DATE, UPDATE_USER)
SELECT
ORGANIZATION_ID,
CUST_ID,
ATTRIBUTE_ID,
ATTRIBUTE_SEQ,
ATTRIBUTE_VALUE,
ACTIVE_FLAG,
CREATE_DATE,
CREATE_USER,
UPDATE_DATE,
UPDATE_USER
FROM
cst_cust_attributes
WHERE
create_date between to_date(to_char(sysdate - 10, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM') and to_date(to_char(sysdate, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM')
and attribute_value = 'TOY_GIFT' ;
COMMIT;
END;
DBMS 作业:
begin
sys.dbms_scheduler.create_job(job_name => 'LOAD_CUSTOMERS_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'LOAD_CUSTOMERS', -- YOUR PROC NAME
start_date => to_date('05-12-2019 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Daily;Interval=10',
end_date => to_date(null),
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => false,
comments => '');
end;
这是我的要求。我想从一个 table 获取记录并将其存储在另一个临时 table.i 写为 query.but 不知道如何通过声明将其作为过程变量等等。
每天的新客户数据将被插入 table.I 中,只想获取从过去 10 天到今天为止将 attribute_value 签名为 'TOY_GIFT' 的客户数据。我想 运行 每 10 天将此作为程序。
CREATE
OR
INSERT INTO
cst_cust_attributes_tmp (ORGANIZATION_ID, CUST_ID, ATTRIBUTE_ID, ATTRIBUTE_SEQ, ATTRIBUTE_VALUE, ACTIVE_FLAG, CREATE_DATE, CREATE_USER, UPDATE_DATE, UPDATE_USER)
SELECT
ORGANIZATION_ID,
CUST_ID,
ATTRIBUTE_ID,
ATTRIBUTE_SEQ,
ATTRIBUTE_VALUE,
ACTIVE_FLAG,
CREATE_DATE,
CREATE_USER,
UPDATE_DATE,
UPDATE_USER
FROM
cst_cust_attributes
WHERE
create_date between to_date(to_char(sysdate - 10, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM') and to_date(to_char(sysdate, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM')
and attribute_value = 'TOY_GIFT' ;
//
提前致谢..
您需要创建一个 proc 来插入记录,并设置一个 dbms 作业每 10 天执行一次。
喜欢,程序:
create or replace procedure LOAD_CUSTOMERS is
BEGIN
INSERT INTO
cst_cust_attributes_tmp (ORGANIZATION_ID, CUST_ID, ATTRIBUTE_ID, ATTRIBUTE_SEQ, ATTRIBUTE_VALUE, ACTIVE_FLAG, CREATE_DATE, CREATE_USER, UPDATE_DATE, UPDATE_USER)
SELECT
ORGANIZATION_ID,
CUST_ID,
ATTRIBUTE_ID,
ATTRIBUTE_SEQ,
ATTRIBUTE_VALUE,
ACTIVE_FLAG,
CREATE_DATE,
CREATE_USER,
UPDATE_DATE,
UPDATE_USER
FROM
cst_cust_attributes
WHERE
create_date between to_date(to_char(sysdate - 10, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM') and to_date(to_char(sysdate, 'DD-MON-YYYY HH:MI:SS AM'), 'DD-MON-YYYY HH:MI:SS AM')
and attribute_value = 'TOY_GIFT' ;
COMMIT;
END;
DBMS 作业:
begin
sys.dbms_scheduler.create_job(job_name => 'LOAD_CUSTOMERS_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'LOAD_CUSTOMERS', -- YOUR PROC NAME
start_date => to_date('05-12-2019 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval => 'Freq=Daily;Interval=10',
end_date => to_date(null),
job_class => 'DEFAULT_JOB_CLASS',
enabled => true,
auto_drop => false,
comments => '');
end;