表明格式为 X_YYMM_A, YYMM为年月,0804就是2008年4月,现在想把一年的12张表都建出来,程序怎么实现?
declare
v_sql varchar(2000);
begin
for .... loop
v_sql := 'create table X_' || ... || '_A(cloumn char(9));';
execute immediate v_sql;
end loop;
end;
/
for 循环不知道该怎么写,谢谢大家了
declare
v_sql varchar(2000);
begin
for .... loop
v_sql := 'create table X_' || ... || '_A(cloumn char(9));';
execute immediate v_sql;
end loop;
end;
/
for 循环不知道该怎么写,谢谢大家了
v_sql varchar(2000);
i number(2);
start_date date;
begin
i:=1
select trunc(sysdate,'yyyy') into :start_date from dual
while i<13 loop
v_sql := 'create table X_' ¦ ¦ to_char(start_date,'yymm') ¦ ¦ '_A(cloumn char(9));';
execute immediate v_sql;
i:=i+1;
start_date:=add_months(start_date,1);
end loop;
end;
DECLARE
v_sql VARCHAR (2000);
i NUMBER (2);
start_date DATE;
BEGIN
i := 1; SELECT TRUNC (SYSDATE, 'yyyy')
INTO start_date
FROM DUAL; WHILE i < 13
LOOP
v_sql :=
'create table X_'
|| TO_CHAR (start_date, 'yymm')
|| '_A(cloumn char(9));'; EXECUTE IMMEDIATE v_sql; i := i + 1;
start_date := ADD_MONTHS (start_date, 1);
END LOOP;
END;