2016-03-29 2 views
0

Я хочу написать процедуру или курсор. Входные данные - ИМЯ ВЛАДЕЛЕЦ. Мы знаем имя (OWNER) И из таблицы ALL_OBJECTS Возьмите имя таблицы. Таблицы> 30. Как правильно писать?Копирование таблиц формы схемы в другой схеме в Oracle


CREATE OR REPLACE PROCEDURE USER_NAME 
(

    v_USER VARCHAR2 
) 
AS 
    v_sysdate VARCHAR2(10) := to_char(SYSDATE ,'MMDDYYYY'); 
    v_table_name VARCHAR2(50); 

BEGIN 

    SELECT 
    TABLE_NAME INTO v_table_name 
    FROM 
    ALL_OBJECTS F -- Table with two columnsю. OWNER AND NAME TABLES 
    WHERE 
    F.OWNER = v_USER; 

    --Name of tables and owner ALL_OBJECTS 

EXECUTE IMMEDIATE 'CREATE TABLE USER_BANCU.'||v_USER||'_'||v_table_name||'__'||v_sysdate||to_char(sysdate,'HH24_MI_SS')||' AS 
      SELECT * 
      FROM '||v_USER||'.'||v_table_nam; 
COMMIT; 
END; 
/
+0

Я думаю, что нам нужна петля. –

+0

Нужен цикл что бы взять имнеа таблиц. –

+0

Нужен цикл, который будет принимать таблицы imnea. –

ответ

Смежные вопросы