I have two tables
1.
shiv_tab_col
TABLENAME | COLUMNNAME
--------------------------
SER_SHIV_SYN | TABLENAME
SER_SHIV_SYN | COLUMNNAME
AND SER_SHIV_SYN
TABLENAME | COLUMNNAME
--------------------------
A | B
E | NULL
NULL | NULL
NULL | NULL
NULL | NULL
NULL | NULL
BUT WHEN I M TRYING TO RUN THE BELOW CODE IT IS GIVING ME '0' AS VALUE OF TNAME
DECLARE
tname varchar(20):=null;
CURSOR C1 IS
SELECT *
FROM SHIV_TAB_COL;
BEGIN
for rec in C1
loop
select count(*) into tname from (select nvl(rec.columnname,1)b from ser_shiv_syn) where b ='1';
dbms_output.put_line(tname);
dbms_output.put_line(rec.columnname);
END LOOP;
END;
En fait, je cherche à compter le no. des valeurs NULL dans chaque colonne qui seront stockées dans la variable TNAME
pour la première colonne, il doit donner 4
pour 2 colonne, il doit donner 5valeurs de curseur dans la requête SQL
Veuillez améliorer le formatage, c'est vraiment difficile à lire. Et s'il vous plaît ajouter au moins la valeur pour TNAME que vous attendiez. Il est vraiment difficile d'améliorer/corriger quelque chose lorsque vous ne connaissez pas le résultat souhaité. –
Désolé d'être dur, mais votre code n'a que très peu de sens. Il ne semble pas que vous sachiez ce que vous faites, plus comme une copie-pâte-session sauvage avec un peu d'essai et d'erreur. –
Lorsque vous exécutez sélectionnez count (*) dans tname , alors il est raisonnable que vous obtenez tname = '0'. Vous ne pouvez pas joindre les données dans une table avec les noms des tables/colonnes – smirkingman