2 réponses
Oracle
J'ai pondu ce petit script mais il semble poser problème :
SET SERVEROUTPUT ON SIZE 1000000
Declare
cursor C1 is Select Column_Name FROM ALL_TAB_columns WHERE TABLE_Name='F0101' Order by Column_ID ;
v_fieldname VARCHAR2(30);
v_count NUMBER:=0;
v_countrec number:=0;
v_countrec2 number:=0;
begin
open C1;
loop
fetch C1 into v_fieldname;
exit when C1%NOTFOUND;
SELECT Count(Distinct Trim(v_fieldname))
INTO v_countrec FROM PRODDTA.F0101;
If v_countrec=0 Then
DBMS_OUTPUT.PUT_LINE(v_fieldname);
End If;
v_count := v_count + 1;
end loop;
close C1;
DBMS_OUTPUT.PUT_LINE('Number of rows '||v_count);
end;/
En exécutant SELECT Count(Distinct Trim(ABAC27)) FROM PRODDTA.F0101 j'ai un résultat qui s'affiche : 0, si je le fais sur le champ ABAC28 j'ai 2 donc logiquement il devrait m'afficher ABAC27 dans le résultat final du script mais rien ne s'affiche.
Merci de votre aide.
J'ai pondu ce petit script mais il semble poser problème :
SET SERVEROUTPUT ON SIZE 1000000
Declare
cursor C1 is Select Column_Name FROM ALL_TAB_columns WHERE TABLE_Name='F0101' Order by Column_ID ;
v_fieldname VARCHAR2(30);
v_count NUMBER:=0;
v_countrec number:=0;
v_countrec2 number:=0;
begin
open C1;
loop
fetch C1 into v_fieldname;
exit when C1%NOTFOUND;
SELECT Count(Distinct Trim(v_fieldname))
INTO v_countrec FROM PRODDTA.F0101;
If v_countrec=0 Then
DBMS_OUTPUT.PUT_LINE(v_fieldname);
End If;
v_count := v_count + 1;
end loop;
close C1;
DBMS_OUTPUT.PUT_LINE('Number of rows '||v_count);
end;/
En exécutant SELECT Count(Distinct Trim(ABAC27)) FROM PRODDTA.F0101 j'ai un résultat qui s'affiche : 0, si je le fais sur le champ ABAC28 j'ai 2 donc logiquement il devrait m'afficher ABAC27 dans le résultat final du script mais rien ne s'affiche.
Merci de votre aide.