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 :