Publié le :

Modification du Schéma de la Base de Données Netezza pour CI360

Ce code est également disponible en : Deutsch English Español
Attention : Ce code nécessite des droits administrateur.
Le script utilise une connexion pass-through via PROC SQL pour se connecter à une base de données Netezza. Il exécute des instructions DDL (Data Definition Language) pour altérer trois tables existantes (cdm_contact_history, cdm_response_history, cdm_task_detail) en y ajoutant de nouvelles colonnes. De plus, il crée deux nouvelles tables (cdm_segment_test et cdm_segment_test_x_segment) nécessaires au modèle de données mis à jour. Les informations de connexion sont paramétrées via des variables macro.
Analyse des données

Type : EXTERNE


Le script n'utilise aucune donnée SAS. Il opère exclusivement sur des tables d'une base de données externe Netezza, en modifiant leur structure (schéma).

1 Bloc de code
Macro
Explication :
Ce bloc définit des variables macro pour stocker les informations de connexion (utilisateur, mot de passe, nom de la base, serveur) à la base de données Netezza. Cela permet de paramétrer le script sans modifier le code principal.
Copié !
1/*======================================================================*/
2/* Enter Customer Specific Target Source Connection Values - Netezza */
3/*======================================================================*/
4 
5%let user = ; /* Netezza User */
6%let pass = ; /* Netezza Password */
7%let db = ; /* Netezza Database */
8%let server = ; /* Netezza Server */
2 Bloc de code
PROC SQL
Explication :
Ce bloc utilise la procédure PROC SQL pour se connecter à la base Netezza en utilisant les macros définies précédemment. Il exécute ensuite des commandes SQL natives via la clause EXECUTE ... BY NETEZZA pour altérer et créer des tables. L'option NOERRORSTOP assure que le script continue même si une commande échoue. La connexion est ensuite fermée avec DISCONNECT.
Copié !
1PROC SQL NOERRORSTOP;
2 
3CONNECT TO NETEZZA (USER=&USER PASS=&PASS DB=&DB SERVER=&SERVER);
4 
5/*** cdm_contact_history ***/
6EXECUTE(ALTER TABLE cdm_contact_history ADD control_group_flg CHAR(1) NULL) BY NETEZZA;
7 
8/*** cdm_response_history ***/
9EXECUTE(ALTER TABLE cdm_response_history ADD properties_map_doc VARCHAR(4000) NULL) BY NETEZZA;
10 
11/*** cdm_task_detail ***/
12EXECUTE(ALTER TABLE cdm_task_detail ADD control_group_action_nm VARCHAR(65) NULL) BY NETEZZA;
13EXECUTE(ALTER TABLE cdm_task_detail ADD stratified_sampling_action_nm VARCHAR(65) NULL) BY NETEZZA;
14EXECUTE(ALTER TABLE cdm_task_detail ADD segment_tests_flg CHAR(1) NULL) BY NETEZZA;
15 
16EXECUTE (CREATE TABLE cdm_segment_test
17(
18 test_cd VARCHAR(60) NOT NULL ,
19 task_version_id VARCHAR(36) NOT NULL ,
20 task_id VARCHAR(36) NOT NULL ,
21 test_nm VARCHAR(65) ,
22 test_type_nm VARCHAR(10) ,
23 test_enabled_flg CHAR(1) ,
24 test_sizing_type_nm VARCHAR(65) ,
25 test_cnt INTEGER ,
26 test_pct NUMERIC(5,2) ,
27 stratified_sampling_flg CHAR(1) ,
28 stratified_samp_criteria_txt VARCHAR(1024) ,
29 updated_dttm TIMESTAMP
30)
31DISTRIBUTE ON (test_cd)
32)
33BY NETEZZA;
34 
35EXECUTE (CREATE TABLE cdm_segment_test_x_segment
36(
37 test_cd VARCHAR(60) NOT NULL ,
38 task_version_id VARCHAR(36) NOT NULL ,
39 task_id VARCHAR(36) NOT NULL ,
40 segment_id VARCHAR(36) ,
41 updated_dttm TIMESTAMP
42)
43DISTRIBUTE ON (test_cd)
44)
45BY NETEZZA;
46 
47DISCONNECT FROM NETEZZA;
48QUIT;
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.