Ниже приведено требование для скрипта oracle. , если С1, С2, С3 ... столбцы в таблице ТСценарий Oracle для выполнения арифметической операции по столбцу по столбцу
Когда я ввести имя таблицы T к сценарию, он должен дать выход в
C1 = COUNT(DISTINCT(C1))/COUNT(C1)
C2 = COUNT(DISTINCT(C2))/COUNT(C2)
C3 = COUNT(DISTINCT(C3))/COUNT(C3)
Я попробовал писать процедуру с курсор в нем, который получает имена столбцов по одному из USER_TAB_COLUMNS
CREATE OR REPLACE PROCEDURE PROC1(TABLE_NAME IN VARCHAR) AS
DECLARE
col varchar2(30)
cursor c1 as select column_name from user_tab_columns where table_name ='TABLE_NAME';
open c1;
BEGIN
Select c1 into col from USER_TAB_COLUMNS WHERE TABLE_NAME ='TABLE_NAME'
END
После этого я заблудился. Я новичок в этом. Пожалуйста, помогите мне в решении этой проблемы. Я не могу продолжить. Любой подход оценен.
Когда имя таблицы введено, выход должен быть списком столбцов и значениями, как показано в арифметической операции.
Для использования динамического имени таблицы вам необходимо [динамический SQL] (http://docs.oracle.com/cd/B10500_01/appdev.920/a96590/adg09dyn.htm). –