Changeset 696

Show
Ignore:
Timestamp:
09/19/07 23:13:34 (1 year ago)
Author:
sas
Message:

Expressions de sous-requêtes relue.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • traduc/trunk/manuel/func.xml

    r694 r696  
    89298929 </sect2> 
    89308930 
    8931  <!-- ICI --> 
    8932  <sect2> 
    8933   <title><literal>ANY</literal>/<literal>SOME</literal></title> 
    8934  
    8935 <synopsis><replaceable>constructeur_ligne</replaceable> <replaceable>operator</replaceable> ANY (<replaceable>sous-requête</replaceable>) 
    8936 <replaceable>constructeur_ligne</replaceable> <replaceable>operator</replaceable> SOME (<replaceable>sous-requête</replaceable>)</synopsis> 
    8937  
    8938   <para> 
    8939    Le côté droit de la forme <token>ANY</token> est un constructeur de lignes, 
    8940    comme décrit dans la <xref linkend="sql-syntax-row-constructors"/>. 
    8941    Le côté droit de cette forme de <token>NOT IN</token> est une sous-requête 
    8942    entre parenthèses qui doit renvoyer exactement autant de colonnes qu'il n'y a 
    8943    d'expressions dans la ligne gauche. Les expressions du côté gauche sont 
    8944    évaluées et comparées ligne par ligne à chaque ligne du résultat de la 
    8945    sous-requête. Le résultat de <token>NOT IN</token> est vrai (<quote>true</quote>) 
    8946    si seules des lignes différentes de la sous-requête sont trouvées (ceci 
    8947    inclut le cas spécial où la sous-requête ne renvoie aucune ligne). Le 
    8948    résultat est faux (<quote>false</quote>) si aucune ligne égale n'est trouvée. 
    8949   </para> 
    8950  
    8951   <para> 
    8952    Comme d'habitude, les valeurs NULL de la ligne sont combinées suivant les 
    8953 règles standards du SQL sur les expressions booléennes. Deux lignes sont 
    8954 considérées égales si tous leurs membres correspondant sont non nuls et 
    8955 égaux&nbsp;; les lignes sont différentes si un des membres correspondants est 
    8956 non nul et différent&nbsp;; sinon le résultat de cette comparaison de ligne est 
    8957 inconnu (nul). Si tous les résultats par ligne sont soit différents soit nuls, avec 
    8958 au moins un nul, alors le résultat de <token>NOT IN</token> est nul. 
    8959   </para> 
    8960   </sect2> 
    8961  
    89628931  <sect2> 
    89638932   <title><literal>ANY</literal>/<literal>SOME</literal></title> 
     
    89678936 
    89688937  <para> 
    8969    Le côté droit est une sous-requête entre parenthèse qui ne doit retourner 
     8938   Le côté droit est une sous-requête entre parenthèses qui ne doit retourner 
    89708939   qu'une seule colonne. L'expression du côté gauche est évaluée et comparée à 
    8971    chaque ligne de la sous-requête en utilisant 
    8972    l'<replaceable>opérateur</replaceable> indiqué et rendant un résultat 
    8973    booléen. Le résultat de <token>ANY</token> est vrai (<quote>true</quote>) si un 
    8974    résultat vrai est obtenu. Le résultat est faux (<quote>false</quote>) si aucun 
    8975    résultat vrai n'est trouvée (ceci incluant le cas spécial où la requête ne 
    8976    renvoie aucune ligne). 
     8940   chaque ligne du résultat de la sous-requête à l'aide de 
     8941   l'<replaceable>opérateur</replaceable> indiqué, ce qui doit aboutir à une 
     8942   résultat booléen. Le résultat de <token>ANY</token> est vrai 
     8943   (<quote>true</quote>) si l'un des résultats est vrai. Le résultat est faux 
     8944   (<quote>false</quote>) si aucun 
     8945   résultat vrai n'est trouvé (ce qui inclut le cas spécial de la requête ne 
     8946   retournant aucune ligne). 
    89778947  </para> 
    89788948 
     
    89838953 
    89848954  <para> 
    8985    Notez que sans succès et avec au moins une ligne NULL du côté droit pour le 
    8986    résultat de l'opérateur, le résultat de la construction <token>ANY</token> 
    8987    sera nul et non pas faux. Ceci est en accord avec les règles standards SQL 
     8955   En l'absence de succès, mais si au moins une ligne du côté droit conduit à 
     8956   NULL avec l'opérateur, le résultat de la construction <token>ANY</token> 
     8957   est nul et non faux. Ceci est en accord avec les règles standard SQL 
    89888958   pour les combinaisons booléenne de valeurs NULL. 
    89898959  </para> 
    89908960 
    89918961  <para> 
    8992    Comme avec <token>EXISTS</token>, il n'est pas conseillé d'assumer que la 
    8993    sous-requête sera évaluée complètement. 
     8962   Comme pour <token>EXISTS</token>, on ne peut assumer que la sous-requête 
     8963   est évaluée entièrement. 
    89948964  </para> 
    89958965 
    8996 <synopsis>(<replaceable>expression</replaceable> <optional>, 
    8997 <replaceable>expression</replaceable> ...</optional>) <replaceable>opérateur</replaceable> 
    8998 ANY (<replaceable>sous-requête</replaceable>) 
    8999 (<replaceable>expression</replaceable> <optional>, 
    9000 <replaceable>expression</replaceable> ...</optional>) <replaceable>opérateur</replaceable> 
    9001 SOME (<replaceable>sous-requête</replaceable>)</synopsis> 
     8966<synopsis><replaceable>constructeur_ligne</replaceable> <replaceable>operator</replaceable> ANY (<replaceable>sous-requête</replaceable>) 
     8967<replaceable>constructeur_ligne</replaceable> <replaceable>operator</replaceable> SOME (<replaceable>sous-requête</replaceable>)</synopsis> 
    90028968 
    90038969  <para> 
    9004    Le côté droit de cette forme <token>ANY</token> est une sous-requête entre 
    9005    parenthèses, qui doit renvoyer exactement autant de colonnes qu'il n'y a 
    9006    d'expressions dans la liste gauche. Les expressions du côté gauche sont 
    9007    évaluées et comparées ligne par ligne à chaque ligne du résultat de la 
    9008    sous-requête en utilisant l'<replaceable>opérateur</replaceable> donné. 
     8970   Le côté gauche de cette forme <token>ANY</token> est un constructeur de 
     8971   ligne, tel que décrit dans la <xref linkend="sql-syntax-row-constructors"/>. 
     8972   Le côté droit est une sous-requête entre 
     8973   parenthèses, qui doit renvoyer exactement autant de colonnes qu'il y a 
     8974   d'expressions dans la ligne de gauche. Les expressions du côté gauche sont 
     8975   évaluées et comparées ligne à ligne au résultat de la 
     8976   sous-requête à l'aide de l'<replaceable>opérateur</replaceable> donné. 
    90098977   Le résultat de <token>ANY</token> est <quote>true</quote> si la comparaison 
    9010    renvoie true à une ligne de la sous-requête. 
     8978   renvoie true pour une ligne quelconque de la sous-requête. 
    90118979   Le résultat est <quote>false</quote> si la comparaison renvoie false pour 
    9012    chaque ligne de la sous-requête (ceci incluant le cas spécial où la sous-requête 
    9013    ne renvoie aucune ligne). Le résultat est NULL si la comparaison ne renvoie 
    9014    pas true pour toutes les lignes, et si elle renvoie NULL pour au moins une 
     8980   chaque ligne de la sous-requête (ce qui inclut le cas spécial de la sous-requête 
     8981   ne retournant aucune ligne). Le résultat est NULL si la comparaison ne renvoie 
     8982   true pour aucune ligne, et renvoie NULL pour au moins une 
    90158983   ligne. 
    90168984  </para> 
    90178985 
    90188986  <para> 
    9019    Voir <xref linkend="row-wise-comparison"/> pour les détails de la signification 
    9020    d'une comparaison sur une ligne entière. 
     8987   Voir <xref linkend="row-wise-comparison"/> pour la signification détaillée 
     8988   d'une comparaison ligne à ligne. <!-- row-wise comparison --> 
    90218989  </para> 
    90228990  </sect2> 
     
    90318999   Le côté droit est une sous-requête entre parenthèses qui ne doit renvoyer 
    90329000   qu'une seule colonne. L'expression gauche est évaluée et comparée à chaque 
    9033    ligne du résultat de la sous-requête en utilisant 
    9034    l'<replaceable>opérateur</replaceable> qui doit renvoyer un résultat booléen. 
     9001   ligne du résultat de la sous-requête à l'aide de 
     9002   l'<replaceable>opérateur</replaceable>, ce qui doit renvoyer un résultat booléen. 
    90359003   Le résultat de <token>ALL</token> est vrai (<quote>true</quote>) si toutes les 
    9036    lignes renvoient true (ceci incluant le cas spécial où la sous-requête ne 
    9037    renvoie aucune ligne). Le résultat est faux (<quote>false</quote>) si un résultat 
     9004   lignes renvoient true (ce qui inclut le cas spécial de la sous-requête ne 
     9005   retournant aucune ligne). Le résultat est faux (<quote>false</quote>) si un résultat 
    90389006   faux est découvert. Le résultat est NULL si la comparaison ne renvoie pas 
    90399007   false pour toutes les lignes, et si elle renvoie NULL pour au moins une ligne. 
     
    90459013 
    90469014  <para> 
    9047    Comme avec <token>EXISTS</token>, il est déconseillé d'assumer que la 
    9048    sous-requête sera évaluée complètement. 
     9015   Comme pour <token>EXISTS</token>, on ne peut assumer que la 
     9016   sous-requête est évaluée entièrement. 
    90499017  </para> 
    90509018 
     
    90539021  <para> 
    90549022   Le côté gauche de cette forme de <token>ALL</token> est un constructeur de 
    9055    lignes comme décrit dans la <xref linkend="sql-syntax-row-constructors"/>. 
    9056    Le côté droit de cette forme <token>ALL</token> est une sous-requête entre 
     9023   lignes, tel que décrit dans la <xref linkend="sql-syntax-row-constructors"/>. 
     9024   Le côté droit est une sous-requête entre 
    90579025   parenthèses qui doit renvoyer exactement le même nombre de colonnes qu'il y a 
    9058    d'expressions dans la ligne gauche. Les expressions du côté gauche sont 
    9059    évaluées et comparées ligne par ligne à chaque ligne du résultat de la 
    9060    sous-requête en utilisant l'<replaceable>opérateur</replaceable> donné. 
     9026   d'expressions dans la ligne de gauche. Les expressions du côté gauche sont 
     9027   évaluées et comparées ligne à ligne au résultat de la 
     9028   sous-requête à l'aide de l'<replaceable>opérateur</replaceable> donné. 
    90619029   Le résultat de <token>ALL</token> est <quote>true</quote> si la comparaison 
    9062    renvoie true pour toutes les lignes de la sous-requête (ceci incluant le cas 
    9063    spécial où la sous-requête ne renvoie aucune ligne). 
     9030   renvoie true pour toutes les lignes de la sous-requête (ce qui inclut le cas 
     9031   spécial de la sous-requête ne retournant aucune ligne). 
    90649032   Le résultat est <quote>false</quote> si la comparaison renvoie false pour 
    9065    une ligne de la sous-requête. 
    9066    Le résultat est NULL si la comparaison ne renvoie pas false pour une ligne 
     9033   une ligne quelconque de la sous-requête. 
     9034   Le résultat est NULL si la comparaison ne renvoie false pour aucune ligne 
    90679035   de la sous-requête, et si elle renvoit NULL pour au moins une ligne. 
    90689036  </para> 
    90699037 
    90709038  <para> 
    9071    Voir <xref linkend="row-wise-comparison"/> pour des détails sur la signification 
    9072    d'une comparaison par ligne. 
     9039   Voir <xref linkend="row-wise-comparison"/> pour la signification détaillée  
     9040   d'une comparaison ligne à ligne. 
    90739041  </para> 
    90749042  </sect2> 
    90759043 
    90769044  <sect2> 
    9077    <title>Comparaison de lignes complètes</title> 
     9045   <title>Comparaison de lignes</title> 
    90789046 
    90799047   <indexterm zone="functions-subquery"> 
    90809048    <primary>comparaison</primary> 
    9081     <secondary>lignes de résultats de sous-requêtes</secondary> 
     9049    <secondary>ligne de résultats d'une sous-requête</secondary> 
    90829050   </indexterm> 
    90839051 
     
    90859053 
    90869054  <para> 
    9087    Le côté gauche est un constructeur de lignes, comme décrit dans la<xref 
    9088    linkend="sql-syntax-row-constructors"/>. Le côté droit est une 
    9089  
     9055   Le côté gauche est un constructeur de lignes, tel que décrit dans la  
     9056   <xref linkend="sql-syntax-row-constructors"/>. Le côté droit est une 
    90909057   sous-requête entre parenthèses qui doit renvoyer exactement autant de 
    9091    colonnes qu'il n'y a d'expressions su le côté gauche. De plus, la 
    9092    sous-requête ne peut pas renvoyer plus d'une ligne. (S'il ne renvoie aucune 
    9093    ligne, le résultat est pris comme s'il était nul.) Le côté gauche est évalué 
    9094    et comparé avec la ligne du résultat de la sous-requête. 
     9058   colonnes qu'il y a d'expressions du côté gauche. De plus, la 
     9059   sous-requête ne peut pas renvoyer plus d'une ligne. (Si elle ne renvoie aucune 
     9060   ligne, le résultat est considéré nul.) Le côté gauche est évalué 
     9061   et comparé ligne complète avec la ligne de résultat de la sous-requête. 
    90959062  </para> 
    90969063 
    90979064  <para> 
    90989065   Voir <xref linkend="row-wise-comparison"/> pour plus de détails sur la 
    9099    signification d'une comparaison par ligne. 
     9066   signification d'une comparaison ligne à ligne. 
    91009067  </para> 
    91019068  </sect2> 
    91029069 </sect1> 
    91039070 
    9104  
     9071<!-- ICI --> 
    91059072 <sect1 id="functions-comparisons"> 
    91069073  <title>Comparaisons de lignes et de tableaux</title> 
  • traduc/trunk/manuel/plpgsql.xml

    r695 r696  
    534534     Toutes les variables utilisées dans un bloc doivent être déclarées  
    535535     dans la section déclaration du bloc. 
    536      (La seule exception est que la variable d'une boucle <literal>FOR</literal> 
    537      effectuant une itération sur des valeurs entières est implicitement déclarée 
    538      comme une variable de type <type>integer</type>.) 
    539      </para> 
    540  
    541     <para> 
    542      Les variables <application>PL/pgSQL</application> peuvent être de n'importe quel type de données 
    543      tels que <type>integer</type>, <type>varchar</type>, et 
     536     (La seule exception concerne la variable d'une boucle 
     537     <literal>FOR</literal> qui, si elle itère sur des valeurs entières, 
     538     est implicitement déclarée comme une variable de type <type>integer</type>.) 
     539     </para> 
     540 
     541    <para> 
     542     Les variables <application>PL/pgSQL</application> peuvent être de 
     543     n'importe quel type de données SQL,  
     544     tels que <type>integer</type>, <type>varchar</type> et 
    544545     <type>char</type>. 
    545546    </para> 
    546547 
    547548    <para> 
    548      Voici quelques exemples de déclarations de variables&nbsp;: 
     549     Quelques exemples de déclarations de variables&nbsp;: 
    549550<programlisting>id_utilisateur integer; 
    550551quantité numeric(5);