ORA-01027:bind variables not allowed for data definition(数据定义不允许绑定变量)
procedure create_dates_testing (dummy_variable varchar2 default
to_char(sysdate,'YYYYMMDD')) is
begin
DECLARE
day_of_month varchar2(255) := extract(day from sysdate);
today varchar2(255) := to_char(sysdate, 'DAY');
start_date date;
next_start_date date;
BEGIN
IF today='SUNDAY' THEN
-- Select yesterday
start_date := trunc(sysdate) - interval '1' day;
next_start_date := trunc(sysdate);
ELSE IF day_of_month=3 then
-- Select the whole of last month
start_date := runc(sysdate, 'MM') - interval '1' month;
next_start_date := runc(sysdate, 'MM') - interval '1' month
END IF;
END;
execute immediate 'drop table new_customers';
execute immediate 'create table new_customers as
select id, client_name, invoice_date
from clients table
where transactiondate >= :start_date
and transactiondate < :next_start_date;';
end;
字符串
我该如何解决这个错误?我哪里出错了?我需要把这个过程放在一个pl/sql包中。
1条答案
按热度按时间mbjcgjjk1#
正如错误所说,你不能在这里使用绑定变量,所以你必须连接:
字符串
可能会有更多的代码来处理既不是星期天也不是每月的第三天,或者
new_customers
表不存在的情况。编辑:添加了
else
条件,以在两个日期条件都不满足时结束处理。