Мне нужно получить сравнение столбцов между таблицей и представлением, я хочу посмотреть, есть ли соответствующие столбцы. (В PLSQL) Столбцы, которые не совпадают, должны выводиться как: column1 в view1 отсутствует в table1 и т.д. Это до сих пор я сделал, но это дает мне ошибку:plsql сравнение таблицы и представления
DECLARE
CURSOR c_col
IS
SELECT T.TABLE_NAME,
T.COLUMN_NAME,
V.TABLE_NAME,
V.COLUMN_NAME
FROM ALL_TAB_COLUMNS T
FULL JOIN ALL_TAB_COLUMNS V
ON T.column_name=V.column_NAME
AND v.table_name='EMP_V'
AND v.owner ='HR'
WHERE T. OWNER ='HR'
and T.TABLE_NAME='EMPLOYEES';
v_table c_col%rowtype;
begin
OPEN C_col;
LOOP
FETCH C_col into V_TABLe;
EXIT when C_col%NOTFOUND;
DBMS_OUTPUT.PUT_LINE (v_table.table_name||' '||V_table.column_name);
end LOOP;
close c_col;
end;
это ошибка я получаю: отчет об ошибке - ORA-06550: строка 16, столбец 13: PLS-00402: псевдоним, требуемый в списке SELECT курсора, чтобы избежать дублирования имен столбцов ORA-06550: строка 16, столбец 13: PL/SQL: элемент игнорируется ORA-06550: строка 20, столбец 22: PLS-00320: объявление типа этого выражения является неполным или искаженным ORA-06550: строка 20, столбец 5: PL/SQL : SQL Statement игнорируется ORA-06550: строка 22, столбец 27: PLS-00320: объявление типа этого выражения является неполным или искаженным ORA-06550: строка 22, столбец 5: PL/SQL: заявление игнорируется 06550. 00000 - "строка% s, столбец% s: \ n% s" * Причина: Обычно ошибка компиляции PL/SQL. * Действие:
Пожалуйста, измените вопрос и включают ошибку вы получаете. Благодарю. –
У вас есть два столбца TABLE_NAME и два столбца COLUMN_NAME в одном SELECT. Используйте псевдонимы столбцов. – Multisync