Можем ли мы провести процедуру с
Сначала создайте таблицу, предположим
create table INCOME_GROUP(income_compare_groups varchar(100)) ;
Затем вставьте данные в эту таблицу.
insert into INCOME_GROUP values (10-20);
Затем используйте эту таблицу в курсор.
CURSOR c1 IS(select *from INCOME_GROUP);
Например, я делаю это.
BEGIN
create table INCOME_GROUP(income_compare_groups varchar(100)) ;
DECLARE
CURSOR c1 IS(select * income_Group);
BEGIN
FOR acct IN c1 LOOP -- process each row one at a time
INSERT INTO temp_test
VALUES (acct.income_compare_groups);
END LOOP;
COMMIT;
END;
END;
Но я получаю некоторую ошибку.
ORA-06550: line 2, column 4:
PLS-00103: Encountered the symbol "CREATE" when expecting one of the following:
( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
Прочитав комментарии, я попробовал это -
BEGIN
EXECUTE IMMEDIATE 'create table INCOME_GROUP
(
income_compare_groups varchar(100)
)';
DECLARE
CURSOR c1 IS
(select * from
INCOME_GROUP
);
BEGIN
FOR acct IN c1 LOOP -- process each row one at a time
INSERT INTO temp_test
VALUES (acct.income_compare_groups, null);
END LOOP;
COMMIT;
END;
END;
Но кажется, что это не создает таблицу.!!!!
create
) в процедуре напрямую. Вам нужно использовать динамический SQL. - person a_horse_with_no_name   schedule 28.11.2013