关于建立#存储过程#缺少逗号的问题如何改正?

题目:试做建存储过程循环插入2022-01-01到2022-12-31的日期数据

V1 2022年01月01日
V2 202201
V3 01
V4 (第几季度)
V5(一年中的第几周)
V6(星期几)
V7 (是否周六日,周六日显示为1,其他显示为0)
V8(上一月)
V9(当月最后一天)

这是我写的:

select *  from test_date
create or replace procedure pro_2022
as
v_0101 date;
v_1231 date;
h1 number:=0;
h2 number;
begin
select trunc(to_date('2022','yyyy') ,'yyyy')into v_0101 from dual;
select add_months(trunc(to_date('2022','yyyy') ,'yyyy'),12)-1 into v_1231 from dual;
select v_1231-v_0101 into h2 from dual;
loop
insert into test_date(v1,v2,v3,v4,v5,v6,v7,v8,v9) values (
to_char(v_0101+h1,'yyyy"年"mm"月"dd"日"')v1,
to_char(v_0101+h1,'yyyymm')v2,
to_char(v_0101+h1,'dd')v3,
to_char(v_0101+h1,'Q')v4,
to_char(v_0101+h1,'ww')v5,
to_number(to_char(v_0101+h1,'D')-1)v6,
v7,
to_char(add_months(v_0101+h1,-1),'yyyymm')v8,
to_char((last_day(v_0101+h1),'dd'),'yyyymmdd')v9
);
h1:=h1+1;
exit when h1=h2;
end loop;
 end;

问题:v1的语句一直提醒缺少逗号是为什么呢?v7直接写if,then好像不对。

拜托大家不答可以 但是不要瞎答

把values括号里的列名删掉
你这insert语法都不对,先把select、insert、update、delete语法简单看看,再开始写代码,不要瞎写

v1和前面要有个空格。请采纳哦