Publié le :
ETL MIXTE

Création de Table via SELECT (CTAS)

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par nettoyer d'éventuelles tables existantes (`ts_STRING`, `mydblibsas`, `ysas`) dans la bibliothèque `mydblib`. Il procède ensuite à la création d'une table `ts_STRING` au sein de `mydblib`, y insérant une valeur de date/heure actuelle. Deux blocs `PROC SQL` distincts sont ensuite utilisés pour exécuter des opérations CTAS. Le premier crée la table `mydblibsas` en sélectionnant des données de `ts_STRING` via une connexion DBMS générique. Le second crée la table `ysas` en répliquant cette opération, mais en spécifiant explicitement `READ_METHOD=JDBC` dans les options de connexion. Des options `sastrace` sont activées pour le débogage SQL et chaque opération CTAS est suivie d'un affichage des données créées via un `DATA _NULL_` dans le journal SAS©.
Analyse des données

Type : MIXTE


La table source `ts_STRING` est créée programmatiquement par le script dans la bibliothèque `mydblib`, qui est elle-même une connexion à un DBMS externe. Les tables `mydblibsas` et `ysas` sont ensuite créées à partir de `ts_STRING` au sein du même DBMS externe.

1 Bloc de code
PROC DELETE
Explication :
Ce bloc supprime les tables temporaires (`ts_STRING`, `mydblibsas`, `ysas`) de la bibliothèque `mydblib` si elles existent, assurant ainsi un environnement propre pour l'exécution du script.
Copié !
1 
2PROC DELETE
3DATA=mydblib.ts_STRING;
4 
5RUN;
6PROC DELETE
7DATA=mydblib.mydblibsas;
8 
9RUN;
10PROC DELETE
11DATA=mydblib.ysas;
12 
13RUN;
14 
2 Bloc de code
DATA STEP Data
Explication :
Ce bloc `DATA STEP` crée une table nommée `ts_STRING` dans la bibliothèque `mydblib`. Cette table contient une seule colonne `ts` qui stocke la date et l'heure actuelles, formatées pour une précision de 25.6 caractères.
Copié !
1DATA mydblib.ts_STRING;
2FORMAT ts datetime25.6;
3ts=datetime();
4RUN;
3 Bloc de code
PROC SQL Data
Explication :
Ce segment utilise `PROC SQL` pour établir une connexion à un DBMS externe (spécifié par les macros `&dbms` et `&CONNOPT`). Il exécute ensuite une opération 'Create Table As Select' (CTAS) pour créer une nouvelle table `mydblibsas` dans la bibliothèque `mydblib`, en sélectionnant toutes les données de la table `ts_STRING` via la connexion à la base de données. Les options `sastrace` sont activées pour le débogage. Enfin, un `DATA _NULL_` est utilisé pour afficher le contenu de la nouvelle table `mydblibsas` dans le journal SAS.
Copié !
1option sastrace=',,,d' sastraceloc=saslog nostsuffix;
2PROC SQL;
3connect to &dbms(&CONNOPT);
4create TABLE mydblibsas as select * from connection to &dbms(
5SELECT ts FROM ts_STRING
6);
7QUIT;
8 
9option sastrace=',,,' sastraceloc=saslog nostsuffix;
10DATA _null_; SET mydblibsas; put _all_; RUN;
4 Bloc de code
PROC SQL Data
Explication :
Ce bloc est similaire au précédent, mais il démontre une spécification explicite de la méthode de lecture. Il utilise `PROC SQL` pour une opération CTAS, créant la table `ysas` dans `mydblib`. La différence clé est l'inclusion de `READ_METHOD=JDBC` dans la chaîne de connexion au DBMS, forçant l'utilisation du pilote JDBC pour l'accès aux données. Le contenu de `ysas` est ensuite affiché dans le journal SAS pour vérification.
Copié !
1option sastrace=',,,d' sastraceloc=saslog nostsuffix;
2PROC SQL;
3connect to &dbms(&CONNOPT READ_METHOD=JDBC);
4create TABLE ysas as select * from connection to &dbms(
5SELECT ts FROM ts_STRING
6);
7QUIT;
8 
9option sastrace=',,,' sastraceloc=saslog nostsuffix;
10DATA _null_; SET ysas; put _all_; RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : S A S S A M P L E L I B R A R Y