SQL "SELECT_COLUMNS"

Rôle :

Balaie la liste des colonnes.

Cette commande est comme la commande SELECT_TABLES, une commande de balayage. Elle permet de balayer la liste des colonnes et de récupérer des informations sur ces colonnes.

Les critères "Qualifier", "Owner", "Table" et "Type" sont optionnels. Ils sont analysés sans tenir compte des majuscules et minuscules et leur ordre n'a pas d'importance.Comme SELECT_TABLES, cette commande initialise une requête en positionnant un curseur en début de requête. Pour faire avancer le curseur dans la requête, on utilisera la commande FETCH. Pour clore cette requête, on utilisera ENDSELECT.La commande SELECT_COLUMNS peut être complétée par des assignations pour effectuer des correspondances entre les noms par défaut et des noms de variables L4G.

La liste des noms par défaut est :

     TABLE_QUALIFIER (le contenant)

     TABLE_OWNER (le propriétaire)

     TABLE_NAME (le nom de la table)

     COLUMN_NAME (le nom de la colonne)

     DATA_TYPE (le type exprimé en numéro)

     TYPE_NAME (le type exprimé en littéral)

     PRECISION (le nombre maxi de digits utilisé par ce type)

     LENGTH (le nombre maxi d'octets consommé par le type C par défaut)

     SCALE (concerne les numériques ; représente le nombre maxi de digits en partie droite de la virgule)

     RADIX (représente l'unité dans laquelle PRECISION, LENGTH et SCALE sont exprimés: 10 représente des octets, 2 des bits)

     NULLABLE (supporte la notion de NonAffecté)

     REMARKS (remarque)

Cette commande est relative à une connexion qui a pu être nommée par la variable système SqlConnexion. Cette connexion doit obligatoirement avoir été créée par une commande CONNECT et être valide.

Exemple :

Objet SAISIE :ODBC_COLONNE "Liste des colonnes"
          
Declaration
                   
TABLE :SQLC
                   
ECRAN :COLUL
                   
MODES :V
                   
PARAMETRES:
                     
Chaine NOM_BASE("",64)
                     
Chaine USER("",64)
                     
Chaine PASSW("",64)
                     
Chaine CONT("",64)
          
FinDeclaration

          
Methode DEBUT
                   
Sql "CONNECT SERVER=""" +NOM_BASE +""";USER=" +USER +";PASSWORD="

                                               +PASSW +";QUALIFIER=" +CONT
                   
Si SqlErreurNumero <>"" Alors
                     
BoiteMessage SqlErreurLibelle
                     
Sortir
                   
FinSi

                   
MajAuto SQLC ,0
                   
Supprimer SQLC
                   
Sql "SELECT_COLUMNS TABLE_QUALIFIER[QUAL], TABLE_OWNER[OWNER]"

                   
Si SqlErreurNumero <>"" Alors
                     
BoiteMessage SqlErreurLibelle
                     
Sortir
                   
FinSi

                   
TantQue SqlErreurNumero =""
                     
Sql "FETCH"
                     
Si SqlErreurNumero ="" Alors
                                               
Ecrire SQLC
                     
FinSi
                   
FinTantQue
          
FinMethode

          
Methode SORTIE
                   
Sql "DECONNECT"
          
FinMethode
FinObjet

A l'exécution, écran de saisie de la liste des colonnes :