Oracle 立即执行期间的报价问题
获取执行立即数的语法时出错Oracle 立即执行期间的报价问题,oracle,plsql,execute-immediate,Oracle,Plsql,Execute Immediate,获取执行立即数的语法时出错 select distinct hire_date BULK COLLECT into v_yr from employees; for i in 1..v_yr.count LOOP v_1:='select * from employees where EXTRACT(YEAR FROM TO_DATE(HIRE_DATE,''' ||DD-MM-RR ||''' ||'=:1'; open c_emp for v_1 u
select distinct hire_date BULK COLLECT into v_yr from employees;
for i in 1..v_yr.count LOOP
v_1:='select * from employees where EXTRACT(YEAR FROM TO_DATE(HIRE_DATE,'''
||DD-MM-RR
||'''
||'=:1';
open c_emp for v_1 using v_yr(i);
也许是这个
select distinct extract(year from hire_date)
bulk collect into v_yr
from employees;
for i in 1..v_yr.count loop
for c_emp in (select *
from employees
where extract(year from hire_date) = v_yr(i)) loop
.
.
.
end loop;
end for;
你也可以帮我做以下几点:使用v|u emp(i)执行即时的“UTL|u FILE.fopen”(“'''| CSVDIR |'.'',“'| | empdata.csv | |:1'',“'| | w |',''| 1000 | |'”),我发现上面有错误。我认为问题在于引用。我希望在运行时从集合v_emp获取empdata.csv1、empdata.csv2…等等;同样,我认为您不需要立即执行
。声明一个varf1 utl\u file.file\u类型代码>然后f1:=utl_file.fopen(CSVDIR,'empdata.csv'| i,'w',1000)
.v_1:='从员工中选择*,其中摘录(从雇佣日期算起的年份)=:1和摘录(从雇佣日期算起的月份)=:2和收件人编号(收件人字符(到雇佣日期,'DD/MM/YYYY'),'WW')=:3';在这种情况下我能做什么?我想把周数像1,2,3等放在runtime@TBose您也可以在这些情况下使用PL/SQL变量。