2009-09-17 9 views
0

Je vous écris les questions ci-dessous dans l'oracle:Oracle - procédure de requête concernant

DBMS_OUTPUT ..... 'Ashish'

Sélectionnez col1 dans val1 de tab_1

DBMS_OUTPUT ..... 'Ubale'

Lorsque j'exécute cette procédure, je reçois la sortie comme "Ashish" seulement pourquoi? aussi ce que sera la valeur de la variable v_val1

Remarque: le tableau ne contient pas d'enregistrements

Répondre

6

Étant donné que la table est vide, l'instruction "select into" déclenchera l'exception NO_DATA_FOUND. C'est pourquoi vous n'obtenez pas le deuxième message. val1 aura la même valeur qu'avant le select - c'est-à-dire null si vous n'avez pas précédemment attribué une valeur.

Le fait que vous ne savez pas que vous avez l'exception NO_DATA_FOUND suggère que vous avez fait une des plus grandes erreurs développeurs PL/SQL font jamais:

EXCEPTION 
    -- Never do this in real code!!! 
    WHEN OTHERS THEN NULL; 
END; 
+1

+1. Pour quand d'autres alors nul – Guru

+1

Merci tony ... Votre suggestion fonctionne.Thans beaucoup pour une réponse rapide !!! –

+2

+1 Je donnerais +2 pour le commentaire dans le bloc d'exception :) –

0

Avez-vous eu erreur? Si la table n'a pas de lignes dedans. Vous pourriez obtenir l'exception no_data_found. Par ailleurs, où est l'intégralité de votre code?

Questions connexes